26 #if ! defined (octave_svd_h)
27 #define octave_svd_h 1
29 #include "octave-config.h"
43 typedef typename T::real_diag_matrix_type
DM_T;
59 : m_type (), m_driver (), left_sm (), sigma (), right_sm ()
66 : m_type (a.m_type), m_driver (a.m_driver), left_sm (a.left_sm),
67 sigma (a.sigma), right_sm (a.right_sm)
86 T left_singular_matrix (
void)
const;
90 T right_singular_matrix (
void)
const;
94 typedef typename T::element_type
P;
95 typedef typename DM_T::element_type
DM_P;
104 void gesvd (
char& jobu,
char& jobv, octave_f77_int_type
m,
105 octave_f77_int_type
n,
P *tmp_data, octave_f77_int_type m1,
106 DM_P *s_vec,
P *u,
P *vt, octave_f77_int_type nrow_vt1,
107 std::vector<P>& work, octave_f77_int_type& lwork,
108 octave_f77_int_type& info);
110 void gesdd (
char& jobz, octave_f77_int_type
m, octave_f77_int_type
n,
111 P *tmp_data, octave_f77_int_type m1,
DM_P *s_vec,
P *u,
112 P *vt, octave_f77_int_type nrow_vt1, std::vector<P>& work,
113 octave_f77_int_type& lwork, octave_f77_int_type *iwork,
114 octave_f77_int_type& info);
void gesdd(char &jobz, octave_f77_int_type m, octave_f77_int_type n, P *tmp_data, octave_f77_int_type m1, DM_P *s_vec, P *u, P *vt, octave_f77_int_type nrow_vt1, std::vector< P > &work, octave_f77_int_type &lwork, octave_f77_int_type *iwork, octave_f77_int_type &info)
T::real_diag_matrix_type DM_T
DM_T singular_values(void) const
void gesvd(char &jobu, char &jobv, octave_f77_int_type m, octave_f77_int_type n, P *tmp_data, octave_f77_int_type m1, DM_P *s_vec, P *u, P *vt, octave_f77_int_type nrow_vt1, std::vector< P > &work, octave_f77_int_type &lwork, octave_f77_int_type &info)