51 explicit SVD(std::vector<std::vector<double>> &matrix);
77 void computeSVD(std::vector<std::vector<double>> &matrix);
79 std::vector<double> &diagonal,
80 std::vector<double> &superdiagonal);
83 std::vector<double> &v,
86 const std::vector<double> &v,
std::vector< std::vector< double > > rightSingularVectors_
void computeHouseholderReflection(const std::vector< double > &x, std::vector< double > &v, double &beta)
std::vector< double > getSingularValues() const
Get the singular values of the matrix.
void bidiagonalize(std::vector< std::vector< double >> &matrix, std::vector< double > &diagonal, std::vector< double > &superdiagonal)
SVD(std::vector< std::vector< double >> &matrix)
Constructor to compute SVD for a given matrix.
std::vector< std::vector< double > > getLeftSingularVectors() const
Get the left singular vectors of the matrix.
void applyHouseholder(std::vector< std::vector< double >> &matrix, const std::vector< double > &v, double beta, size_t fromRow, size_t fromCol)
std::vector< std::vector< double > > leftSingularVectors_
std::vector< std::vector< double > > getRightSingularVectors() const
Get the right singular vectors of the matrix.
std::vector< double > singularValues_
void computeSVD(std::vector< std::vector< double >> &matrix)
The source C++ openGPMP namespace.