38 Complex*,
const octave_idx_type&,
39 double*, Complex*,
const octave_idx_type&,
40 Complex*,
const octave_idx_type&, Complex*,
41 const octave_idx_type&,
double*, octave_idx_type&
47 const octave_idx_type&,
const octave_idx_type&,
48 Complex*,
const octave_idx_type&,
49 double*, Complex*,
const octave_idx_type&,
50 Complex*,
const octave_idx_type&, Complex*,
51 const octave_idx_type&,
double*,
52 octave_idx_type *, octave_idx_type&
61 (*current_liboctave_error_handler)
62 (
"ComplexSVD: U not computed because type == SVD::sigma_only");
74 (*current_liboctave_error_handler)
75 (
"ComplexSVD: V not computed because type == SVD::sigma_only");
109 ncol_u = nrow_vt = nrow_s = ncol_s = min_mn;
123 ncol_u = nrow_vt = 1;
132 if (! (jobu ==
'N' || jobu ==
'O'))
140 if (! (jobv ==
'N' || jobv ==
'O'))
162 m, n, tmp_data, m1, s_vec, u, m1, vt,
173 m, n, tmp_data, m1, s_vec, u, m1, vt,
181 assert (jobu == jobv);
188 lrwork = 5*min_mn*min_mn + 5*min_mn;
194 m, n, tmp_data, m1, s_vec, u, m1, vt,
203 m, n, tmp_data, m1, s_vec, u, m1, vt,
211 if (! (jobv ==
'N' || jobv ==
'O'))
void resize(octave_idx_type n, octave_idx_type m, const T &rfv)
#define F77_CHAR_ARG_LEN(l)
F77_RET_T F77_FUNC(zgesvd, ZGESVD)(F77_CONST_CHAR_ARG_DECL
const T * fortran_vec(void) const
#define F77_XFCN(f, F, args)
F77_RET_T const octave_idx_type const octave_idx_type Complex const octave_idx_type double Complex const octave_idx_type Complex const octave_idx_type Complex const octave_idx_type double octave_idx_type &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL
octave_idx_type rows(void) const
#define F77_CONST_CHAR_ARG2(x, l)
ComplexMatrix hermitian(void) const
void resize(const dim_vector &dv, const T &rfv)
ComplexMatrix left_singular_matrix(void) const
charNDArray max(char d, const charNDArray &m)
void resize(octave_idx_type nr, octave_idx_type nc, const Complex &rfv=Complex(0))
#define OCTAVE_LOCAL_BUFFER(T, buf, size)
F77_RET_T F77_CONST_CHAR_ARG_DECL
std::complex< double > Complex
const T * fortran_vec(void) const
octave_idx_type cols(void) const
octave_idx_type init(const ComplexMatrix &a, SVD::type svd_type=SVD::std, SVD::driver svd_driver=SVD::GESVD)
ComplexMatrix right_singular_matrix(void) const