#include "gsvd.h"
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 | |
T | left_singular_matrix_A (void) const |
T | left_singular_matrix_B (void) const |
gsvd & | operator= (const gsvd &a) |
T | 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, F77_INT m, F77_INT n, F77_INT p, F77_INT &k, F77_INT &l, Complex *tmp_dataA, F77_INT m1, Complex *tmp_dataB, F77_INT p1, Matrix &alpha, Matrix &beta, Complex *u, F77_INT nrow_u, Complex *v, F77_INT nrow_v, Complex *q, F77_INT nrow_q, Complex *work, F77_INT lwork, F77_INT *iwork, F77_INT &info) |
void | ggsvd (char &jobu, char &jobv, char &jobq, F77_INT m, F77_INT n, F77_INT p, F77_INT &k, F77_INT &l, double *tmp_dataA, F77_INT m1, double *tmp_dataB, F77_INT p1, Matrix &alpha, Matrix &beta, double *u, F77_INT nrow_u, double *v, F77_INT nrow_v, double *q, F77_INT nrow_q, double *work, F77_INT lwork, F77_INT *iwork, F77_INT &info) |
void | ggsvd (char &jobu, char &jobv, char &jobq, F77_INT m, F77_INT n, F77_INT p, F77_INT &k, F77_INT &l, float *tmp_dataA, F77_INT m1, float *tmp_dataB, F77_INT p1, FloatMatrix &alpha, FloatMatrix &beta, float *u, F77_INT nrow_u, float *v, F77_INT nrow_v, float *q, F77_INT nrow_q, float *work, F77_INT lwork, F77_INT *iwork, F77_INT &info) |
void | ggsvd (char &jobu, char &jobv, char &jobq, F77_INT m, F77_INT n, F77_INT p, F77_INT &k, F77_INT &l, FloatComplex *tmp_dataA, F77_INT m1, FloatComplex *tmp_dataB, F77_INT p1, FloatMatrix &alpha, FloatMatrix &beta, FloatComplex *u, F77_INT nrow_u, FloatComplex *v, F77_INT nrow_v, FloatComplex *q, F77_INT nrow_q, FloatComplex *work, F77_INT lwork, F77_INT *iwork, F77_INT &info) |
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 | |
T | m_left_smA |
T | m_left_smB |
T | m_right_sm |
real_matrix | m_sigmaA |
real_matrix | m_sigmaB |
gsvd::Type | m_type |
|
private |
|
strong |
gsvd< T >::gsvd | ( | const T & | a, |
const T & | b, | ||
gsvd< T >::Type | gsvd_type = gsvd<T>::Type::std |
||
) |
Definition at line 471 of file gsvd.cc.
References abs(), gsvd< T >::ggsvd(), gsvd_initialized, gsvd_type(), have_DGGSVD3, initialize_gsvd(), m, max(), n, and OCTAVE_LOCAL_BUFFER.
|
private |
Definition at line 324 of file gsvd.cc.
References F77_DBLE_CMPLX_ARG, Array< T, Alloc >::fortran_vec(), gsvd_fcn, gsvd_initialized, have_DGGSVD3, initialize_gsvd(), m, n, and OCTAVE_LOCAL_BUFFER.
|
private |
Definition at line 237 of file gsvd.cc.
References Array< T, Alloc >::fortran_vec(), gsvd_fcn, gsvd_initialized, have_DGGSVD3, initialize_gsvd(), m, and n.
|
private |
Definition at line 280 of file gsvd.cc.
References Array< T, Alloc >::fortran_vec(), gsvd_fcn, gsvd_initialized, have_DGGSVD3, initialize_gsvd(), m, and n.
|
private |
Definition at line 380 of file gsvd.cc.
References F77_CMPLX_ARG, Array< T, Alloc >::fortran_vec(), gsvd_fcn, gsvd_initialized, have_DGGSVD3, initialize_gsvd(), m, n, and OCTAVE_LOCAL_BUFFER.
|
private |
Referenced by gsvd< T >::gsvd().
T gsvd< T >::left_singular_matrix_A | ( | void | ) | const |
Definition at line 439 of file gsvd.cc.
References gsvd< T >::sigma_only.
T gsvd< T >::left_singular_matrix_B | ( | void | ) | const |
Definition at line 450 of file gsvd.cc.
References gsvd< T >::sigma_only.
Definition at line 61 of file gsvd.h.
References gsvd< T >::m_left_smA, gsvd< T >::m_left_smB, gsvd< T >::m_right_sm, gsvd< T >::m_sigmaA, gsvd< T >::m_sigmaB, and gsvd< T >::m_type.
T gsvd< T >::right_singular_matrix | ( | void | ) | const |
Definition at line 461 of file gsvd.cc.
References gsvd< T >::sigma_only.
|
inline |
|
inline |
|
private |
Definition at line 110 of file gsvd.h.
Referenced by gsvd< T >::operator=().
|
private |
Definition at line 110 of file gsvd.h.
Referenced by gsvd< T >::operator=().
|
private |
Definition at line 111 of file gsvd.h.
Referenced by gsvd< T >::operator=().
|
private |
Definition at line 109 of file gsvd.h.
Referenced by gsvd< T >::operator=().
|
private |
Definition at line 109 of file gsvd.h.
Referenced by gsvd< T >::operator=().
|
private |
Definition at line 108 of file gsvd.h.
Referenced by gsvd< T >::operator=().