yat
0.20.3pre
|
Singular Value Decomposition. More...
#include <yat/utility/SVD.h>
Public Types | |
enum | SVDalgorithm { GolubReinsch, ModifiedGolubReinsch, Jacobi } |
Public Member Functions | |
SVD (const MatrixBase &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 (MatrixMutable &&Ain) | |
~SVD (void) | |
The destructor. | |
void | decompose (SVDalgorithm algo=GolubReinsch) |
This function will perform SVD with the method specified by algo. More... | |
const Vector & | s (void) const |
Access to the s vector. More... | |
void | solve (const VectorBase &b, Vector &x) |
Solve the system using the decomposition of A. More... | |
const Matrix & | U (void) const |
Access to the U matrix. More... | |
const 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
|
explicit |
Constructs an SVD object using the matrix Ain as only input. The input matrix is copied for further use in the object.
|
explicit |
Same behaviour as const& constructor, but Ain is moved rather than copied.
void theplu::yat::utility::SVD::decompose | ( | SVDalgorithm | algo = GolubReinsch | ) |
const Vector& theplu::yat::utility::SVD::s | ( | void | ) | const |
Access to the s vector.
void theplu::yat::utility::SVD::solve | ( | const VectorBase & | b, |
Vector & | x | ||
) |
Solve the system using the decomposition of A.
GSL_error | if the underlying GSL function fails. |
const Matrix& theplu::yat::utility::SVD::U | ( | void | ) | const |
Access to the U matrix.
const Matrix& theplu::yat::utility::SVD::V | ( | void | ) | const |
Access to the V matrix.