GNU Octave  6.2.0
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 class  Type { std , economy , sigma_only }
 

Public Member Functions

 gsvd (const gsvd &a)
 
 gsvd (const T &a, const T &b, gsvd::Type gsvd_type=gsvd< T >::Type::economy)
 
 gsvd (void)
 
 ~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 36 of file gsvd.h.

Member Typedef Documentation

◆ P

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

Definition at line 91 of file gsvd.h.

◆ real_matrix

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

Definition at line 92 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 41 of file gsvd.h.

Constructor & Destructor Documentation

◆ gsvd() [1/3]

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

Definition at line 48 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 54 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 433 of file gsvd.cc.

References octave::math::gsvd< T >::sigma_only.

Referenced by do_gsvd().

◆ left_singular_matrix_B()

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

Definition at line 447 of file gsvd.cc.

References octave::math::gsvd< T >::sigma_only.

Referenced by do_gsvd().

◆ operator=()

◆ R_matrix()

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

Definition at line 475 of file gsvd.cc.

References octave::math::gsvd< T >::std.

Referenced by do_gsvd().

◆ right_singular_matrix()

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

Definition at line 461 of file gsvd.cc.

References octave::math::gsvd< T >::sigma_only.

Referenced by do_gsvd().

◆ singular_values_A()

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

Definition at line 79 of file gsvd.h.

Referenced by do_gsvd().

◆ singular_values_B()

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

Definition at line 82 of file gsvd.h.

Referenced by do_gsvd().

Member Data Documentation

◆ left_smA

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

Definition at line 96 of file gsvd.h.

Referenced by octave::math::gsvd< T >::operator=().

◆ left_smB

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

Definition at line 96 of file gsvd.h.

Referenced by octave::math::gsvd< T >::operator=().

◆ R

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

Definition at line 97 of file gsvd.h.

Referenced by octave::math::gsvd< T >::operator=().

◆ right_sm

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

Definition at line 97 of file gsvd.h.

Referenced by octave::math::gsvd< T >::operator=().

◆ sigmaA

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

Definition at line 95 of file gsvd.h.

Referenced by octave::math::gsvd< T >::operator=().

◆ sigmaB

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

Definition at line 95 of file gsvd.h.

Referenced by octave::math::gsvd< T >::operator=().

◆ type

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

Definition at line 94 of file gsvd.h.

Referenced by octave::math::gsvd< T >::operator=().


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