39 FloatComplex*,
const octave_idx_type&,
40 FloatComplex*,
const octave_idx_type&,
41 FloatComplex*,
const octave_idx_type&,
42 float*, octave_idx_type&
48 const octave_idx_type&,
const octave_idx_type&,
49 FloatComplex*,
const octave_idx_type&,
float*,
50 FloatComplex*,
const octave_idx_type&,
51 FloatComplex*,
const octave_idx_type&,
52 FloatComplex*,
const octave_idx_type&,
53 float*, octave_idx_type *, octave_idx_type&
62 (*current_liboctave_error_handler)
63 (
"FloatComplexSVD: U not computed because type == SVD::sigma_only");
75 (*current_liboctave_error_handler)
76 (
"FloatComplexSVD: V not computed because type == SVD::sigma_only");
110 ncol_u = nrow_vt = nrow_s = ncol_s = min_mn;
124 ncol_u = nrow_vt = 1;
133 if (! (jobu ==
'N' || jobu ==
'O'))
141 if (! (jobv ==
'N' || jobv ==
'O'))
163 m, n, tmp_data, m1, s_vec, u, m1, vt,
174 m, n, tmp_data, m1, s_vec, u, m1, vt,
182 assert (jobu == jobv);
189 lrwork = min_mn *
std::max (5*min_mn+7, 2*max_mn+2*min_mn+1);
195 m, n, tmp_data, m1, s_vec, u, m1, vt,
204 m, n, tmp_data, m1, s_vec, u, m1, vt,
212 if (! (jobv ==
'N' || jobv ==
'O'))
void resize(octave_idx_type n, octave_idx_type m, const T &rfv)
void resize(octave_idx_type nr, octave_idx_type nc, const FloatComplex &rfv=FloatComplex(0))
#define F77_CHAR_ARG_LEN(l)
const T * fortran_vec(void) const
octave_idx_type init(const FloatComplexMatrix &a, SVD::type svd_type=SVD::std, SVD::driver svd_driver=SVD::GESVD)
FloatComplexMatrix right_sm
FloatComplexMatrix hermitian(void) const
FloatComplexMatrix left_singular_matrix(void) const
F77_RET_T const octave_idx_type const octave_idx_type FloatComplex const octave_idx_type float FloatComplex const octave_idx_type FloatComplex const octave_idx_type FloatComplex const octave_idx_type float octave_idx_type &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL
FloatComplexMatrix right_singular_matrix(void) const
#define F77_XFCN(f, F, args)
octave_idx_type rows(void) const
#define F77_CONST_CHAR_ARG2(x, l)
void resize(const dim_vector &dv, const T &rfv)
F77_RET_T F77_CONST_CHAR_ARG_DECL
F77_RET_T F77_FUNC(cgesvd, CGESVD)(F77_CONST_CHAR_ARG_DECL
charNDArray max(char d, const charNDArray &m)
FloatComplexMatrix left_sm
#define OCTAVE_LOCAL_BUFFER(T, buf, size)
std::complex< float > FloatComplex
const T * fortran_vec(void) const
octave_idx_type cols(void) const