41 typedef typename T::real_diag_matrix_type
DM_T;
58 : m_type (), m_driver (), m_left_sm (), m_sigma (), m_right_sm ()
65 : m_type (a.m_type), m_driver (a.m_driver), m_left_sm (a.m_left_sm),
66 m_sigma (a.m_sigma), m_right_sm (a.m_right_sm)
74 m_left_sm = a.m_left_sm;
76 m_right_sm = a.m_right_sm;
77 m_driver = a.m_driver;
85 T left_singular_matrix ()
const;
89 T right_singular_matrix ()
const;
93 typedef typename T::element_type P;
94 typedef typename DM_T::element_type DM_P;
103 void gesvd (
char& jobu,
char& jobv, octave_f77_int_type m,
104 octave_f77_int_type n, P *tmp_data, octave_f77_int_type m1,
105 DM_P *s_vec, P *u, P *vt, octave_f77_int_type nrow_vt1,
106 std::vector<P>& work, octave_f77_int_type& lwork,
107 octave_f77_int_type& info);
109 void gesdd (
char& jobz, octave_f77_int_type m, octave_f77_int_type n,
110 P *tmp_data, octave_f77_int_type m1, DM_P *s_vec, P *u,
111 P *vt, octave_f77_int_type nrow_vt1, std::vector<P>& work,
112 octave_f77_int_type& lwork, octave_f77_int_type *iwork,
113 octave_f77_int_type& info);
115 void gejsv (
char& joba,
char& jobu,
char& jobv,
char& jobr,
char& jobt,
116 char& jobp, octave_f77_int_type m, octave_f77_int_type n,
117 P *tmp_data, octave_f77_int_type m1, DM_P *s_vec, P *u,
118 P *v, octave_f77_int_type nrow_v1, std::vector<P>& work,
119 octave_f77_int_type& lwork,
120 std::vector<octave_f77_int_type>& iwork,
121 octave_f77_int_type& info);