cisst-saw
Loading...
Searching...
No Matches
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 Author(s): Ankur Kapoor
6 Created on: 2004-10-30
7
8 (C) Copyright 2004-2018 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17*/
18
19
24
25#ifndef _nmrLDPSolver_h
26#define _nmrLDPSolver_h
27
31
32
73
74protected:
75 CISSTNETLIB_INTEGER M;
76 CISSTNETLIB_INTEGER N;
86
87public:
93 M(0),
94 N(0)
95 {
96 Allocate(M, N);
97 }
98
99
108 nmrLDPSolver(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n) {
109 Allocate(m, n);
110 }
111
112
121
122
130 inline void Allocate(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n) {
131 M = m;
132 N = n;
133 E.SetSize(N + 1, M, VCT_COL_MAJOR);
134 CopyE.SetSize(N + 1, M, VCT_COL_MAJOR);
135 F.SetSize(N + 1, 1, VCT_COL_MAJOR);
136 R.SetSize(N + 1, 1, VCT_COL_MAJOR);
137 U.SetSize(M, 1, VCT_COL_MAJOR);
138 W.SetSize(M, 1, VCT_COL_MAJOR);
139 Index.SetSize(M, 1, VCT_COL_MAJOR);
140 Zz.SetSize(N + 1, 1, VCT_COL_MAJOR);
141 X.SetSize(N, 1, VCT_COL_MAJOR);
142 }
143
144
152
153
167
168
170 inline const vctDynamicMatrix<CISSTNETLIB_DOUBLE> &GetX(void) const {
171 return X;
172 }
173};
174
175
176#endif // _nmrLDPSolver_h
vctDynamicMatrix< CISSTNETLIB_DOUBLE > F
Definition nmrLDPSolver.h:79
nmrLDPSolver(void)
Definition nmrLDPSolver.h:92
CISST_EXPORT void Solve(vctDynamicMatrix< CISSTNETLIB_DOUBLE > &G, vctDynamicMatrix< CISSTNETLIB_DOUBLE > &h) CISST_THROW(std const vctDynamicMatrix< CISSTNETLIB_DOUBLE > & GetX(void) const
Definition nmrLDPSolver.h:170
vctDynamicMatrix< CISSTNETLIB_DOUBLE > E
Definition nmrLDPSolver.h:77
vctDynamicMatrix< CISSTNETLIB_DOUBLE > CopyE
Definition nmrLDPSolver.h:78
void Allocate(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n)
Definition nmrLDPSolver.h:130
vctDynamicMatrix< CISSTNETLIB_DOUBLE > X
Definition nmrLDPSolver.h:85
vctDynamicMatrix< CISSTNETLIB_INTEGER > Index
Definition nmrLDPSolver.h:83
vctDynamicMatrix< CISSTNETLIB_DOUBLE > W
Definition nmrLDPSolver.h:82
void Allocate(vctDynamicMatrix< CISSTNETLIB_DOUBLE > &G, vctDynamicMatrix< CISSTNETLIB_DOUBLE > &CMN_UNUSED(h))
Definition nmrLDPSolver.h:149
nmrLDPSolver(CISSTNETLIB_INTEGER m, CISSTNETLIB_INTEGER n)
Definition nmrLDPSolver.h:108
nmrLDPSolver(vctDynamicMatrix< CISSTNETLIB_DOUBLE > &G, vctDynamicMatrix< CISSTNETLIB_DOUBLE > &h)
Definition nmrLDPSolver.h:118
vctDynamicMatrix< CISSTNETLIB_DOUBLE > Zz
Definition nmrLDPSolver.h:84
CISSTNETLIB_INTEGER N
Definition nmrLDPSolver.h:76
vctDynamicMatrix< CISSTNETLIB_DOUBLE > U
Definition nmrLDPSolver.h:81
vctDynamicMatrix< CISSTNETLIB_DOUBLE > R
Definition nmrLDPSolver.h:80
CISSTNETLIB_INTEGER M
Definition nmrLDPSolver.h:75
Definition vctForwardDeclarations.h:157
#define CISST_EXPORT
Definition cmnExportMacros.h:50
#define CMN_UNUSED(argument)
Definition cmnPortability.h:497
#define CISST_THROW(exceptionParameter)
Somewhat portable compilation warning message. This works with very recent versions of gcc (4....
Definition cmnPortability.h:559
Rules of exporting.
Declaration of vctDynamicMatrix.
const bool VCT_COL_MAJOR
Definition vctForwardDeclarations.h:44