#include <svd.h>
Collaboration diagram for linalg::SVD:
Public Member Functions | |
SVD (const Matrix &A) | |
void | cut_off (const double min_sig) |
const Matrix & | q_U (void) const |
const Matrix & | q_V (void) const |
const Vector & | q_sig (void) const |
operator MinMax (void) const | |
double | q_cond_number (void) const |
void | info (void) const |
Private Member Functions | |
double | left_householder (Matrix &A, const int i) |
double | right_householder (Matrix &A, const int i) |
double | bidiagonalize (Vector &super_diag, const Matrix &__A) |
void | rotate (Matrix &U, const int i, const int j, const double cos_ph, const double sin_ph) |
void | rip_through (Vector &super_diag, const int k, const int l, const double eps) |
int | get_submatrix_to_work_on (Vector &super_diag, const int k, const double eps) |
void | diagonalize (Vector &super_diag, const double eps) |
Private Attributes | |
const int | M |
const int | N |
Matrix | U |
Matrix | V |
Vector | sig |
|
Definition at line 490 of file svd.cpp. References linalg::_error(), bidiagonalize(), diagonalize(), linalg::Matrix::info(), M, N, U, linalg::Matrix::unit_matrix(), and V. |
Here is the call graph for this function:
|
Definition at line 269 of file svd.cpp. References left_householder(), linalg::max(), linalg::DimSpec::q_ncols(), linalg::DimSpec::q_nrows(), REAL, linalg::Matrix::resize_to(), right_householder(), and sig. Referenced by SVD(). |
Here is the call graph for this function:
|
|
|
Definition at line 417 of file svd.cpp. References linalg::AREALStreamIn::eof(), linalg::AREALStreamOut::get(), get_submatrix_to_work_on(), REAL, rotate(), sig, U, and V. Referenced by SVD(). |
Here is the call graph for this function:
|
Definition at line 402 of file svd.cpp. References rip_through(), and sig. Referenced by diagonalize(). |
Here is the call graph for this function:
|
Definition at line 514 of file svd.cpp. References linalg::Matrix::is_valid(), M, linalg::message(), N, and U. |
Here is the call graph for this function:
|
Definition at line 104 of file svd.cpp. References linalg::IRange::from(), linalg::AREALStrideStreamOut::get(), linalg::DimSpec::q_col_lwb(), REAL, linalg::AREALStrideStreamIn::rewind(), linalg::sqr(), and U. Referenced by bidiagonalize(). |
Here is the call graph for this function:
|
Definition at line 521 of file svd.cpp. References linalg::AREALStreamIn::eof(), linalg::AREALStreamIn::get(), and sig. |
Here is the call graph for this function:
|
|
|
Definition at line 72 of file svd.h. Referenced by linalg::SVD_inv_mult::fill_in(). |
|
Definition at line 70 of file svd.h. Referenced by linalg::SVD_inv_mult::fill_in(). |
|
Definition at line 71 of file svd.h. Referenced by linalg::SVD_inv_mult::fill_in(). |
|
Definition at line 206 of file svd.cpp. References linalg::AREALStrideStreamIn::eof(), linalg::IRange::from(), linalg::AREALStrideStreamOut::get(), linalg::AREALStrideStreamOut::peek(), linalg::DimSpec::q_row_lwb(), REAL, linalg::AREALStrideStreamIn::rewind(), linalg::sqr(), and V. Referenced by bidiagonalize(). |
Here is the call graph for this function:
|
Definition at line 371 of file svd.cpp. References rotate(), sig, and U. Referenced by get_submatrix_to_work_on(). |
Here is the call graph for this function:
|
Definition at line 342 of file svd.cpp. References linalg::AREALStreamIn::eof(), linalg::AREALStreamOut::get(), and REAL. Referenced by diagonalize(), and rip_through(). |
Here is the call graph for this function:
|
|
|
|
|
Definition at line 44 of file svd.h. Referenced by bidiagonalize(), diagonalize(), get_submatrix_to_work_on(), operator MinMax(), and rip_through(). |
|
Definition at line 42 of file svd.h. Referenced by diagonalize(), info(), left_householder(), rip_through(), and SVD(). |
|
Definition at line 43 of file svd.h. Referenced by diagonalize(), right_householder(), and SVD(). |