#include "svd.h"
Public Types | |
typedef T::real_diag_matrix_type | DM_T |
enum class | Driver { GESVD , GESDD } |
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 | 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 | |
T | left_sm |
svd::Driver | m_driver |
svd::Type | m_type |
T | right_sm |
DM_T | sigma |
|
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 278 of file svd.cc.
References current_liboctave_error_handler, octave::math::svd< T >::economy, octave::math::svd< T >::GESDD, octave::math::svd< T >::gesdd(), octave::math::svd< T >::GESVD, octave::math::svd< T >::gesvd(), octave::math::svd< T >::left_sm, m, octave::math::svd< T >::m_driver, octave::math::svd< T >::m_type, max(), min(), n, octave::math::svd< T >::right_sm, octave::math::svd< T >::sigma, 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().
T svd< T >::left_singular_matrix | ( | void | ) | const |
Definition at line 50 of file svd.cc.
References octave::math::svd< T >::sigma_only.
Referenced by Fsvd(), ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), and FloatMatrix::pseudo_inverse().
|
inline |
Definition at line 70 of file svd.h.
References octave::math::svd< T >::left_sm, octave::math::svd< T >::m_driver, octave::math::svd< T >::m_type, octave::math::svd< T >::right_sm, and octave::math::svd< T >::sigma.
T svd< T >::right_singular_matrix | ( | void | ) | const |
Definition at line 61 of file svd.cc.
References octave::math::svd< T >::sigma_only.
Referenced by Fsvd(), null(), ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), and FloatMatrix::pseudo_inverse().
|
inline |
Definition at line 88 of file svd.h.
Referenced by Fsvd(), null(), ComplexMatrix::pseudo_inverse(), Matrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), and 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 98 of file svd.h.
Referenced by octave::math::svd< T >::svd(), and octave::math::svd< T >::operator=().
|
private |
Definition at line 97 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 101 of file svd.h.
Referenced by octave::math::svd< T >::svd(), and octave::math::svd< T >::operator=().