39 double*,
const octave_idx_type&,
double*,
40 double*,
const octave_idx_type&,
double*,
41 const octave_idx_type&,
double*,
42 const octave_idx_type&, octave_idx_type&
48 const octave_idx_type&,
const octave_idx_type&,
49 double*,
const octave_idx_type&,
double*,
50 double*,
const octave_idx_type&,
double*,
51 const octave_idx_type&,
double*,
52 const octave_idx_type&, octave_idx_type *,
62 (*current_liboctave_error_handler)
63 (
"SVD: U not computed because type == SVD::sigma_only");
75 (*current_liboctave_error_handler)
76 (
"SVD: V not computed because type == SVD::sigma_only");
108 ncol_u = nrow_vt = nrow_s = ncol_s = min_mn;
122 ncol_u = nrow_vt = 1;
131 if (! (jobu ==
'N' || jobu ==
'O'))
139 if (! (jobv ==
'N' || jobv ==
'O'))
158 m, n, tmp_data, m1, s_vec, u, m1, vt,
168 m, n, tmp_data, m1, s_vec, u, m1, vt,
176 assert (jobu == jobv);
181 m, n, tmp_data, m1, s_vec, u, m1, vt, nrow_vt1,
189 m, n, tmp_data, m1, s_vec, u, m1, vt, nrow_vt1,
197 if (! (jobv ==
'N' || jobv ==
'O'))
DiagMatrix singular_values(void) const
F77_RET_T const octave_idx_type const octave_idx_type double const octave_idx_type double double const octave_idx_type double const octave_idx_type double const octave_idx_type octave_idx_type &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL
void resize(octave_idx_type n, octave_idx_type m, const T &rfv)
#define F77_CHAR_ARG_LEN(l)
const T * fortran_vec(void) const
Matrix right_singular_matrix(void) const
void resize(octave_idx_type nr, octave_idx_type nc, double rfv=0)
octave_idx_type init(const Matrix &a, type svd_type=std, driver svd_driver=GESVD)
#define F77_XFCN(f, F, args)
octave_idx_type rows(void) const
F77_RET_T F77_CONST_CHAR_ARG_DECL
#define F77_CONST_CHAR_ARG2(x, l)
void resize(const dim_vector &dv, const T &rfv)
Matrix transpose(void) const
Matrix left_singular_matrix(void) const
charNDArray max(char d, const charNDArray &m)
F77_RET_T F77_FUNC(dgesvd, DGESVD)(F77_CONST_CHAR_ARG_DECL
#define OCTAVE_LOCAL_BUFFER(T, buf, size)
std::ostream & operator<<(std::ostream &os, const SVD &a)
const T * fortran_vec(void) const
octave_idx_type cols(void) const