GNU Octave
4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "svd.h"
Public Types | |
typedef T::real_diag_matrix_type | DM_T |
enum | Driver { Driver::GESVD, Driver::GESDD } |
enum | Type { Type::std, Type::economy, Type::sigma_only } |
Public Member Functions | |
svd (void) | |
svd (const T &a, svd::Type type=svd::Type::std, svd::Driver driver=svd::Driver::GESVD) | |
svd (const svd &a) | |
~svd (void) | |
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_idx_type m, octave_idx_type n, P *tmp_data, octave_idx_type m1, DM_P *s_vec, P *u, P *vt, octave_idx_type nrow_vt1, std::vector< P > &work, octave_idx_type &lwork, octave_idx_type *iwork, octave_idx_type &info) |
void | gesvd (char &jobu, char &jobv, octave_idx_type m, octave_idx_type n, P *tmp_data, octave_idx_type m1, DM_P *s_vec, P *u, P *vt, octave_idx_type nrow_vt1, std::vector< P > &work, octave_idx_type &lwork, octave_idx_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 287 of file svd.cc.
References a, 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(), octave::math::svd< T >::right_sm, octave_map::rows(), octave::math::svd< T >::sigma, octave::math::svd< T >::sigma_only, octave::math::svd< T >::std, and u.
|
inline |
|
inline |
|
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 49 of file svd.cc.
References octave::math::svd< T >::sigma_only.
Referenced by Fsvd(), Matrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::pseudo_inverse(), and FloatComplexMatrix::pseudo_inverse().
|
inline |
Definition at line 68 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 60 of file svd.cc.
References octave::math::svd< T >::sigma_only.
Referenced by Fsvd(), null(), Matrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::pseudo_inverse(), and FloatComplexMatrix::pseudo_inverse().
|
inline |
Definition at line 86 of file svd.h.
Referenced by Fsvd(), null(), Matrix::pseudo_inverse(), FloatMatrix::pseudo_inverse(), ComplexMatrix::pseudo_inverse(), FloatComplexMatrix::pseudo_inverse(), and svd_matrix_norm().
|
private |
Definition at line 98 of file svd.h.
Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().
|
private |
Definition at line 96 of file svd.h.
Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().
|
private |
Definition at line 95 of file svd.h.
Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().
|
private |
Definition at line 100 of file svd.h.
Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().
|
private |
Definition at line 99 of file svd.h.
Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().