GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave::math::gsvd< T > Class Template Reference

#include "gsvd.h"

Collaboration diagram for octave::math::gsvd< T >:

Public Types

enum  Type { Type::std, Type::economy, Type::sigma_only }
 

Public Member Functions

 gsvd (void)
 
 gsvd (const T &a, const T &b, gsvd::Type gsvd_type=gsvd< T >::Type::economy)
 
 gsvd (const gsvd &a)
 
 ~gsvd (void)=default
 
left_singular_matrix_A (void) const
 
left_singular_matrix_B (void) const
 
gsvdoperator= (const gsvd &a)
 
R_matrix (void) const
 
right_singular_matrix (void) const
 
T::real_diag_matrix_type singular_values_A (void) const
 
T::real_diag_matrix_type singular_values_B (void) const
 

Private Types

typedef T::value_type P
 
typedef T::real_matrix_type real_matrix
 

Private Member Functions

void ggsvd (char &jobu, char &jobv, char &jobq, octave_f77_int_type m, octave_f77_int_type n, octave_f77_int_type p, octave_f77_int_type &k, octave_f77_int_type &l, P *tmp_dataA, octave_f77_int_type m1, P *tmp_dataB, octave_f77_int_type p1, real_matrix &alpha, real_matrix &beta, P *u, octave_f77_int_type nrow_u, P *v, octave_f77_int_type nrow_v, P *q, octave_f77_int_type nrow_q, T &work, octave_f77_int_type lwork, octave_f77_int_type *iwork, octave_f77_int_type &info)
 

Private Attributes

left_smA
 
left_smB
 
R
 
right_sm
 
T::real_diag_matrix_type sigmaA
 
T::real_diag_matrix_type sigmaB
 
gsvd::Type type
 

Detailed Description

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

Definition at line 35 of file gsvd.h.

Member Typedef Documentation

◆ P

template<typename T>
typedef T::value_type octave::math::gsvd< T >::P
private

Definition at line 90 of file gsvd.h.

◆ real_matrix

template<typename T>
typedef T::real_matrix_type octave::math::gsvd< T >::real_matrix
private

Definition at line 91 of file gsvd.h.

Member Enumeration Documentation

◆ Type

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

Definition at line 40 of file gsvd.h.

Constructor & Destructor Documentation

◆ gsvd() [1/3]

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

Definition at line 47 of file gsvd.h.

◆ gsvd() [2/3]

template<typename T >
gsvd< T >::gsvd ( const T &  a,
const T &  b,
gsvd< T >::Type  gsvd_type = gsvd<T>::Type::economy 
)

◆ gsvd() [3/3]

template<typename T>
octave::math::gsvd< T >::gsvd ( const gsvd< T > &  a)
inline

Definition at line 53 of file gsvd.h.

◆ ~gsvd()

template<typename T>
octave::math::gsvd< T >::~gsvd ( void  )
default

Member Function Documentation

◆ ggsvd()

template<typename T>
void octave::math::gsvd< T >::ggsvd ( char &  jobu,
char &  jobv,
char &  jobq,
octave_f77_int_type  m,
octave_f77_int_type  n,
octave_f77_int_type  p,
octave_f77_int_type &  k,
octave_f77_int_type &  l,
P tmp_dataA,
octave_f77_int_type  m1,
P tmp_dataB,
octave_f77_int_type  p1,
real_matrix alpha,
real_matrix beta,
P u,
octave_f77_int_type  nrow_u,
P v,
octave_f77_int_type  nrow_v,
P q,
octave_f77_int_type  nrow_q,
T &  work,
octave_f77_int_type  lwork,
octave_f77_int_type *  iwork,
octave_f77_int_type &  info 
)
private

◆ left_singular_matrix_A()

template<typename T >
T gsvd< T >::left_singular_matrix_A ( void  ) const

Definition at line 432 of file gsvd.cc.

References octave::math::gsvd< T >::sigma_only, and type.

◆ left_singular_matrix_B()

template<typename T >
T gsvd< T >::left_singular_matrix_B ( void  ) const

Definition at line 446 of file gsvd.cc.

References octave::math::gsvd< T >::sigma_only, and type.

◆ operator=()

template<typename T>
gsvd& octave::math::gsvd< T >::operator= ( const gsvd< T > &  a)
inline

Definition at line 59 of file gsvd.h.

References a, and type.

◆ R_matrix()

template<typename T >
T gsvd< T >::R_matrix ( void  ) const

Definition at line 474 of file gsvd.cc.

References octave::math::gsvd< T >::std, and type.

◆ right_singular_matrix()

template<typename T >
T gsvd< T >::right_singular_matrix ( void  ) const

Definition at line 460 of file gsvd.cc.

References octave::math::gsvd< T >::sigma_only, and type.

◆ singular_values_A()

template<typename T>
T::real_diag_matrix_type octave::math::gsvd< T >::singular_values_A ( void  ) const
inline

Definition at line 78 of file gsvd.h.

◆ singular_values_B()

template<typename T>
T::real_diag_matrix_type octave::math::gsvd< T >::singular_values_B ( void  ) const
inline

Definition at line 81 of file gsvd.h.

Member Data Documentation

◆ left_smA

template<typename T>
T octave::math::gsvd< T >::left_smA
private

Definition at line 95 of file gsvd.h.

◆ left_smB

template<typename T>
T octave::math::gsvd< T >::left_smB
private

Definition at line 95 of file gsvd.h.

◆ R

template<typename T>
T octave::math::gsvd< T >::R
private

Definition at line 96 of file gsvd.h.

◆ right_sm

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

Definition at line 96 of file gsvd.h.

◆ sigmaA

template<typename T>
T::real_diag_matrix_type octave::math::gsvd< T >::sigmaA
private

Definition at line 94 of file gsvd.h.

◆ sigmaB

template<typename T>
T::real_diag_matrix_type octave::math::gsvd< T >::sigmaB
private

Definition at line 94 of file gsvd.h.

◆ type

template<typename T>
gsvd::Type octave::math::gsvd< T >::type
private

Definition at line 93 of file gsvd.h.


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