#include "svd.h"
Public Types | |
typedef T::real_diag_matrix_type | DM_T |
enum class | Driver { GESVD , GESDD , GEJSV } |
enum class | Type { std , economy , sigma_only } |
Public Member Functions | |
svd (const svd &a) | |
svd (const T &a, svd::Type type=svd::Type::std, svd::Driver driver=svd::Driver::GESVD) | |
svd (void) | |
~svd (void)=default | |
T | left_singular_matrix (void) const |
svd & | operator= (const svd &a) |
T | right_singular_matrix (void) const |
DM_T | singular_values (void) const |
Private Types | |
typedef DM_T::element_type | DM_P |
typedef T::element_type | P |
Private Member Functions | |
void | gejsv (char &joba, char &jobu, char &jobv, char &jobr, char &jobt, char &jobp, octave_f77_int_type m, octave_f77_int_type n, P *tmp_data, octave_f77_int_type m1, DM_P *s_vec, P *u, P *v, octave_f77_int_type nrow_v1, std::vector< P > &work, octave_f77_int_type &lwork, std::vector< octave_f77_int_type > &iwork, octave_f77_int_type &info) |
void | gesdd (char &jobz, octave_f77_int_type m, octave_f77_int_type n, P *tmp_data, octave_f77_int_type m1, DM_P *s_vec, P *u, P *vt, octave_f77_int_type nrow_vt1, std::vector< P > &work, octave_f77_int_type &lwork, octave_f77_int_type *iwork, octave_f77_int_type &info) |
void | gesvd (char &jobu, char &jobv, octave_f77_int_type m, octave_f77_int_type n, P *tmp_data, octave_f77_int_type m1, DM_P *s_vec, P *u, P *vt, octave_f77_int_type nrow_vt1, std::vector< P > &work, octave_f77_int_type &lwork, octave_f77_int_type &info) |
Private Attributes | |
svd::Driver | m_driver |
T | m_left_sm |
T | m_right_sm |
DM_T | m_sigma |
svd::Type | m_type |
|
private |
typedef T::real_diag_matrix_type octave::math::svd< T >::DM_T |
|
private |
|
strong |
|
strong |
|
inline |
svd< T >::svd | ( | const T & | a, |
svd< T >::Type | type = svd< T >::Type::std , |
||
svd< T >::Driver | driver = svd< T >::Driver::GESVD |
||
) |
Definition at line 670 of file svd.cc.
References current_liboctave_error_handler, octave::math::svd< T >::economy, octave::math::svd< T >::GEJSV, octave::math::svd< T >::gejsv(), octave::math::svd< T >::GESDD, octave::math::svd< T >::gesdd(), octave::math::svd< T >::GESVD, octave::math::svd< T >::gesvd(), octave::math::svd< T >::m_driver, octave::math::svd< T >::m_left_sm, octave::math::svd< T >::m_right_sm, octave::math::svd< T >::m_sigma, octave::math::svd< T >::m_type, max(), min(), octave::math::svd< T >::sigma_only, and octave::math::svd< T >::std.
|
inline |
|
default |
|
private |
Referenced by octave::math::svd< T >::svd().
|
private |
Referenced by octave::math::svd< T >::svd().
|
private |
Referenced by octave::math::svd< T >::svd().
T svd< T >::left_singular_matrix | ( | void | ) | const |
Definition at line 310 of file svd.cc.
References octave::math::svd< T >::sigma_only.
Referenced by ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), and FloatMatrix::pseudo_inverse().
|
inline |
Definition at line 72 of file svd.h.
References octave::math::svd< T >::m_driver, octave::math::svd< T >::m_left_sm, octave::math::svd< T >::m_right_sm, octave::math::svd< T >::m_sigma, and octave::math::svd< T >::m_type.
T svd< T >::right_singular_matrix | ( | void | ) | const |
Definition at line 321 of file svd.cc.
References octave::math::svd< T >::sigma_only.
Referenced by ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), and FloatMatrix::pseudo_inverse().
|
inline |
Definition at line 90 of file svd.h.
Referenced by ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), and octave::svd_matrix_norm().
|
private |
Definition at line 100 of file svd.h.
Referenced by octave::math::svd< T >::svd(), and octave::math::svd< T >::operator=().
|
private |
Definition at line 102 of file svd.h.
Referenced by octave::math::svd< T >::svd(), and octave::math::svd< T >::operator=().
|
private |
Definition at line 104 of file svd.h.
Referenced by octave::math::svd< T >::svd(), and octave::math::svd< T >::operator=().
|
private |
Definition at line 103 of file svd.h.
Referenced by octave::math::svd< T >::svd(), and octave::math::svd< T >::operator=().
|
private |
Definition at line 99 of file svd.h.
Referenced by octave::math::svd< T >::svd(), and octave::math::svd< T >::operator=().