GNU Octave 7.1.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::std)
 
 gsvd (void)
 
 ~gsvd (void)=default
 
left_singular_matrix_A (void) const
 
left_singular_matrix_B (void) const
 
gsvdoperator= (const gsvd &a)
 
right_singular_matrix (void) const
 
T::real_matrix_type singular_values_A (void) const
 
T::real_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, P *work, octave_f77_int_type lwork, octave_f77_int_type *iwork, octave_f77_int_type &info)
 

Private Attributes

m_left_smA
 
m_left_smB
 
m_right_sm
 
real_matrix m_sigmaA
 
real_matrix m_sigmaB
 
gsvd::Type m_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 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 class octave::math::gsvd::Type
strong
Enumerator
std 
economy 
sigma_only 

Definition at line 42 of file gsvd.h.

Constructor & Destructor Documentation

◆ gsvd() [1/3]

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

Definition at line 49 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::std 
)

◆ gsvd() [3/3]

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

Definition at line 55 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,
P 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 439 of file gsvd.cc.

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

◆ left_singular_matrix_B()

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

Definition at line 450 of file gsvd.cc.

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

◆ operator=()

◆ 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.

◆ singular_values_A()

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

Definition at line 79 of file gsvd.h.

◆ singular_values_B()

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

Definition at line 82 of file gsvd.h.

Member Data Documentation

◆ m_left_smA

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

Definition at line 110 of file gsvd.h.

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

◆ m_left_smB

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

Definition at line 110 of file gsvd.h.

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

◆ m_right_sm

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

Definition at line 111 of file gsvd.h.

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

◆ m_sigmaA

template<typename T >
real_matrix octave::math::gsvd< T >::m_sigmaA
private

Definition at line 109 of file gsvd.h.

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

◆ m_sigmaB

template<typename T >
real_matrix octave::math::gsvd< T >::m_sigmaB
private

Definition at line 109 of file gsvd.h.

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

◆ m_type

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

Definition at line 108 of file gsvd.h.

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


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