IsoEx
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
svd.hh
Go to the documentation of this file.
1 /*===========================================================================*\
2  * *
3  * IsoEx *
4  * Copyright (C) 2002 by Computer Graphics Group, RWTH Aachen *
5  * www.rwth-graphics.de *
6  * *
7  *---------------------------------------------------------------------------*
8  * *
9  * License *
10  * *
11  * This library is free software; you can redistribute it and/or modify it *
12  * under the terms of the GNU Library General Public License as published *
13  * by the Free Software Foundation, version 2. *
14  * *
15  * This library is distributed in the hope that it will be useful, but *
16  * WITHOUT ANY WARRANTY; without even the implied warranty of *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
18  * Library General Public License for more details. *
19  * *
20  * You should have received a copy of the GNU Library General Public *
21  * License along with this library; if not, write to the Free Software *
22  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
23  * *
24 \*===========================================================================*/
25 
26 //=============================================================================
27 //
28 // SVD decomposition and back-substitution
29 //
30 //=============================================================================
31 
32 #ifndef SVD_HH
33 #define SVD_HH
34 
35 
40 //== NAMESPACES ===============================================================
41 namespace IsoEx {
42 namespace Math {
43 //=============================================================================
44 
50 template <typename MAT_MxN,
51  typename VEC_M,
52  typename MAT_NxN>
53 bool
54 svd_decomp( MAT_MxN& A, VEC_M& S, MAT_NxN& V );
55 
56 
57 
62 template <typename MAT_MxN,
63  typename VEC_N,
64  typename MAT_NxN,
65  typename VEC_M>
66 void
67 svd_backsub( const MAT_MxN& A, const VEC_M& S, const MAT_NxN& V,
68  const VEC_M& b, VEC_N& x );
69 
70 
71 
72 //=============================================================================
73 } // namespace Math
74 } // namespace IsoEx
75 //=============================================================================
76 #if defined(INCLUDE_TEMPLATES) && !defined(SVD_C)
77 #define SVD_TEMPLATES
78 #include "svd.cc"
79 #endif
80 //=============================================================================
81 #endif // SVD_HH defined
82 //=============================================================================
A type for volume images, or 3D textures.
void svd_backsub(const MAT_MxN &A, const VEC_M &S, const MAT_NxN &V, const VEC_M &b, VEC_N &x)
Definition: svd.cc:333