cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nmrLDPSolver.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Ankur Kapoor
7  Created on: 2004-10-30
8 
9  (C) Copyright 2004-2007 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 */
20 
21 
27 #ifndef _nmrLDPSolver_h
28 #define _nmrLDPSolver_h
29 
33 
34 
74 class nmrLDPSolver {
75 
76 protected:
77  CISSTNETLIB_INTEGER M;
78  CISSTNETLIB_INTEGER N;
88 
89 public:
94  nmrLDPSolver(void):
95  M(0),
96  N(0)
97  {
98  Allocate(M, N);
99  }
100 
101 
110  nmrLDPSolver(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n) {
111  Allocate(m, n);
112  }
113 
114 
121  Allocate(G, h);
122  }
123 
124 
132  inline void Allocate(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n) {
133  M = m;
134  N = n;
135  E.SetSize(N + 1, M, VCT_COL_MAJOR);
136  CopyE.SetSize(N + 1, M, VCT_COL_MAJOR);
137  F.SetSize(N + 1, 1, VCT_COL_MAJOR);
138  R.SetSize(N + 1, 1, VCT_COL_MAJOR);
139  U.SetSize(M, 1, VCT_COL_MAJOR);
140  W.SetSize(M, 1, VCT_COL_MAJOR);
142  Zz.SetSize(N + 1, 1, VCT_COL_MAJOR);
143  X.SetSize(N, 1, VCT_COL_MAJOR);
144  }
145 
146 
152  Allocate(G.rows(), G.cols());
153  }
154 
155 
169 
170 
172  inline const vctDynamicMatrix<CISSTNETLIB_DOUBLE> &GetX(void) const {
173  return X;
174  }
175 };
176 
177 
178 #endif // _nmrLDPSolver_h
179 
CISSTNETLIB_INTEGER M
Definition: nmrLDPSolver.h:77
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
vctDynamicMatrix< CISSTNETLIB_DOUBLE > F
Definition: nmrLDPSolver.h:81
vctDynamicMatrix< CISSTNETLIB_DOUBLE > CopyE
Definition: nmrLDPSolver.h:80
vctDynamicMatrix< CISSTNETLIB_DOUBLE > X
Definition: nmrLDPSolver.h:87
Declaration of vctDynamicMatrix.
vctDynamicMatrix< CISSTNETLIB_DOUBLE > E
Definition: nmrLDPSolver.h:79
#define CMN_UNUSED(argument)
Definition: cmnPortability.h:479
const vctDynamicMatrix< CISSTNETLIB_DOUBLE > & GetX(void) const
Definition: nmrLDPSolver.h:172
Definition: nmrLDPSolver.h:74
nmrLDPSolver(vctDynamicMatrix< CISSTNETLIB_DOUBLE > &G, vctDynamicMatrix< CISSTNETLIB_DOUBLE > &h)
Definition: nmrLDPSolver.h:120
vctDynamicMatrix< CISSTNETLIB_DOUBLE > Zz
Definition: nmrLDPSolver.h:86
CISSTNETLIB_INTEGER N
Definition: nmrLDPSolver.h:78
size_type rows() const
Definition: vctDynamicConstMatrixBase.h:238
size_type cols() const
Definition: vctDynamicConstMatrixBase.h:243
void Allocate(vctDynamicMatrix< CISSTNETLIB_DOUBLE > &G, vctDynamicMatrix< CISSTNETLIB_DOUBLE > &CMN_UNUSED(h))
Definition: nmrLDPSolver.h:151
void SetSize(size_type rows, size_type cols, bool storageOrder)
Definition: vctDynamicMatrix.h:364
vctDynamicMatrix< CISSTNETLIB_DOUBLE > U
Definition: nmrLDPSolver.h:83
vctDynamicMatrix< CISSTNETLIB_INTEGER > Index
Definition: nmrLDPSolver.h:85
nmrLDPSolver(void)
Definition: nmrLDPSolver.h:94
vctDynamicMatrix< CISSTNETLIB_DOUBLE > R
Definition: nmrLDPSolver.h:82
void Allocate(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n)
Definition: nmrLDPSolver.h:132
nmrLDPSolver(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n)
Definition: nmrLDPSolver.h:110
vctDynamicMatrix< CISSTNETLIB_DOUBLE > W
Definition: nmrLDPSolver.h:84
const bool VCT_COL_MAJOR
Definition: vctForwardDeclarations.h:46
Rules of exporting.
CISST_EXPORT void Solve(vctDynamicMatrix< CISSTNETLIB_DOUBLE > &G, vctDynamicMatrix< CISSTNETLIB_DOUBLE > &h)