GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
octave::math::svd< T > Class Template Reference

#include "svd.h"

Collaboration diagram for octave::math::svd< T >:
Collaboration graph
[legend]

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)
 
left_singular_matrix (void) const
 
svdoperator= (const svd &a)
 
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

left_sm
 
svd::Driver m_driver
 
svd::Type m_type
 
right_sm
 
DM_T sigma
 

Detailed Description

template<typename T>
class octave::math::svd< T >

Definition at line 36 of file svd.h.

Member Typedef Documentation

template<typename T>
typedef DM_T::element_type octave::math::svd< T >::DM_P
private

Definition at line 93 of file svd.h.

template<typename T>
typedef T::real_diag_matrix_type octave::math::svd< T >::DM_T

Definition at line 41 of file svd.h.

template<typename T>
typedef T::element_type octave::math::svd< T >::P
private

Definition at line 92 of file svd.h.

Member Enumeration Documentation

template<typename T>
enum octave::math::svd::Driver
strong
Enumerator
GESVD 
GESDD 

Definition at line 50 of file svd.h.

template<typename T>
enum octave::math::svd::Type
strong
Enumerator
std 
economy 
sigma_only 

Definition at line 43 of file svd.h.

Constructor & Destructor Documentation

template<typename T>
octave::math::svd< T >::svd ( void  )
inline

Definition at line 56 of file svd.h.

template<typename T >
svd< T >::svd ( const T &  a,
svd< T >::Type  type = svd< T >::Type::std,
svd< T >::Driver  driver = svd< T >::Driver::GESVD 
)
template<typename T>
octave::math::svd< T >::svd ( const svd< T > &  a)
inline

Definition at line 63 of file svd.h.

template<typename T>
octave::math::svd< T >::~svd ( void  )
inline

Definition at line 82 of file svd.h.

Member Function Documentation

template<typename T>
void octave::math::svd< T >::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 
)
private
template<typename T>
void octave::math::svd< T >::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
template<typename T >
T svd< T >::left_singular_matrix ( void  ) const
template<typename T>
svd& octave::math::svd< T >::operator= ( const svd< T > &  a)
inline
template<typename T >
T svd< T >::right_singular_matrix ( void  ) const
template<typename T>
DM_T octave::math::svd< T >::singular_values ( void  ) const
inline

Member Data Documentation

template<typename T>
T octave::math::svd< T >::left_sm
private

Definition at line 98 of file svd.h.

Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().

template<typename T>
svd::Driver octave::math::svd< T >::m_driver
private

Definition at line 96 of file svd.h.

Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().

template<typename T>
svd::Type octave::math::svd< T >::m_type
private

Definition at line 95 of file svd.h.

Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().

template<typename T>
T octave::math::svd< T >::right_sm
private

Definition at line 100 of file svd.h.

Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().

template<typename T>
DM_T octave::math::svd< T >::sigma
private

Definition at line 99 of file svd.h.

Referenced by octave::math::svd< T >::operator=(), and octave::math::svd< T >::svd().


The documentation for this class was generated from the following files: