26 #if ! defined (octave_gsvd_h)
27 #define octave_gsvd_h 1
29 #include "octave-config.h"
49 gsvd () : m_sigmaA (), m_sigmaB (), m_left_smA (), m_left_smB (), m_right_sm ()
52 gsvd (
const T& a,
const T& b,
57 m_sigmaA (a.m_sigmaA), m_sigmaB (a.m_sigmaB),
58 m_left_smA (a.m_left_smA), m_left_smB (a.m_left_smB), m_right_sm (a.m_right_sm)
66 m_sigmaA = a.m_sigmaA;
67 m_sigmaB = a.m_sigmaB;
68 m_left_smA = a.m_left_smA;
69 m_left_smB = a.m_left_smB;
70 m_right_sm = a.m_right_sm;
78 typename T::real_matrix_type
81 typename T::real_matrix_type
84 T left_singular_matrix_A ()
const;
85 T left_singular_matrix_B ()
const;
87 T right_singular_matrix ()
const;
90 typedef typename T::value_type P;
91 typedef typename T::real_matrix_type real_matrix;
93 void ggsvd (
char& jobu,
char& jobv,
char& jobq, octave_f77_int_type
m,
94 octave_f77_int_type
n, octave_f77_int_type p,
95 octave_f77_int_type& k, octave_f77_int_type& l,
96 P *tmp_dataA, octave_f77_int_type m1,
97 P *tmp_dataB, octave_f77_int_type p1,
98 real_matrix& alpha, real_matrix& beta,
99 P *u, octave_f77_int_type nrow_u,
100 P *v, octave_f77_int_type nrow_v,
101 P *q, octave_f77_int_type nrow_q,
102 P *work, octave_f77_int_type lwork,
103 octave_f77_int_type *iwork,
104 octave_f77_int_type& info);
109 real_matrix m_sigmaA, m_sigmaB;
110 T m_left_smA, m_left_smB;
114 OCTAVE_END_NAMESPACE(math)
115 OCTAVE_END_NAMESPACE(
octave)
T::real_matrix_type singular_values_A() const
T::real_matrix_type singular_values_B() const
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn