Changeset 1478
- Timestamp:
- Sep 6, 2008, 8:55:46 PM (15 years ago)
- Location:
- trunk/yat/utility
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yat/utility/SVD.cc
r1437 r1478 31 31 #include "VectorBase.h" 32 32 33 #include <cassert> 33 34 #include <sstream> 34 35 … … 51 52 void SVD::decompose(SVDalgorithm algo) 52 53 { 54 assert(U_.rows()>=U_.columns()); 53 55 int status=0; 54 56 switch (algo) { -
trunk/yat/utility/SVD.h
r1474 r1478 47 47 decomposition, SVD. 48 48 49 A = U S V' = (Mx M)(MxN)(NxN) = (MxN)\n49 A = U S V' = (MxN)(NxN)(NxN) = (MxN)\n 50 50 51 51 A = Matrix to be decomposed, size MxN\n 52 U = Orthogonal matrix, size Mx M\n53 S = Diagonal matrix of singular values, size MxN\n52 U = Orthogonal matrix, size MxN\n 53 S = Diagonal matrix of singular values, size NxN\n 54 54 V = Orthogonal matrix, size NxN\n 55 55 */ … … 60 60 /** 61 61 A number of SVD algorithms are implemented in GSL. They have 62 their strengths and weaknesses , check the GSL documentation.62 their strengths and weaknesses. 63 63 64 There are restrictions on the matrix dimensions depending on 65 which SVD algorithm is used. From the GSL's SVD source code one 66 finds that the Golub-Reinsch algorithm implementation will not 67 work on matrices with fewer rows than columns, the same is also 68 true for the modified Golub-Reinsch algorithm. 69 70 \see GSL's SVD documentation. 64 \see GSL's SVD documentation. 71 65 */ 72 66 enum SVDalgorithm { … … 80 74 input. The input matrix is copied for further use in the 81 75 object. 76 77 \note Number of rows must be equal or larger than number of columns. 82 78 */ 83 79 SVD(const utility::Matrix& Ain);
Note: See TracChangeset
for help on using the changeset viewer.