yat
0.14.5pre
|
Singular Value Decomposition. More...
#include <yat/utility/SVD.h>
Public Types | |
enum | SVDalgorithm { GolubReinsch, ModifiedGolubReinsch, Jacobi } |
Public Member Functions | |
SVD (const utility::Matrix &Ain) | |
Constructs an SVD object using the matrix Ain as only input. The input matrix is copied for further use in the object. More... | |
~SVD (void) | |
The destructor. | |
void | decompose (SVDalgorithm algo=GolubReinsch) |
This function will perform SVD with the method specified by algo. More... | |
const utility::Vector & | s (void) const |
Access to the s vector. More... | |
void | solve (const utility::VectorBase &b, utility::Vector &x) |
Solve the system using the decomposition of A. More... | |
const utility::Matrix & | U (void) const |
Access to the U matrix. More... | |
const utility::Matrix & | V (void) const |
Access to the V matrix. More... | |
Singular Value Decomposition.
Class encapsulating GSL methods for singular value decomposition, SVD.
A = U S V' = (MxN)(NxN)(NxN) = (MxN)
A = Matrix to be decomposed, size MxN
U = Orthogonal matrix, size MxN
S = Diagonal matrix of singular values, size NxN
V = Orthogonal matrix, size NxN
theplu::yat::utility::SVD::SVD | ( | const utility::Matrix & | Ain | ) |
Constructs an SVD object using the matrix Ain as only input. The input matrix is copied for further use in the object.
void theplu::yat::utility::SVD::decompose | ( | SVDalgorithm | algo = GolubReinsch | ) |
const utility::Vector& theplu::yat::utility::SVD::s | ( | void | ) | const |
Access to the s vector.
void theplu::yat::utility::SVD::solve | ( | const utility::VectorBase & | b, |
utility::Vector & | x | ||
) |
Solve the system using the decomposition of A.
GSL_error | if the underlying GSL function fails. |
const utility::Matrix& theplu::yat::utility::SVD::U | ( | void | ) | const |
Access to the U matrix.
const utility::Matrix& theplu::yat::utility::SVD::V | ( | void | ) | const |
Access to the V matrix.