40 const octave_idx_type&, octave_idx_type&,
41 Complex*, Complex*,
const octave_idx_type&,
42 double&,
double&, Complex*,
43 const octave_idx_type&,
double*,
44 octave_idx_type*, octave_idx_type&
51 Complex *,
double *,
double *);
57 return a.real () < 0.0;
63 return (
abs (a) < 1.0);
75 (*current_liboctave_error_handler)
76 (
"ComplexSCHUR requires square matrix");
98 char ord_char = ord.empty () ?
'U' : ord[0];
100 if (ord_char ==
'A' || ord_char ==
'D' || ord_char ==
'a' || ord_char ==
'd')
103 if (ord_char ==
'A' || ord_char ==
'a')
105 else if (ord_char ==
'D' || ord_char ==
'd')
142 n, s, n, sdim, pw, q, n, rconde, rcondv,
143 pwork, lwork, prwork, pbwork, info
152 : schur_mat (s), unitary_mat (u), selector (0)
157 (
"schur: inconsistent matrix dimensions");
161 : schur_mat (s.schur_matrix ()), unitary_mat (s.unitary_matrix ()),
#define F77_CHAR_ARG_LEN(l)
static octave_idx_type select_dig(const Complex &a)
subroutine zrsf2csf(n, t, u, c, s)
F77_RET_T F77_FUNC(zgeesx, ZGEESX)(F77_CONST_CHAR_ARG_DECL
#define F77_XFCN(f, F, args)
octave_idx_type rows(void) const
#define F77_CONST_CHAR_ARG2(x, l)
F77_RET_T F77_CONST_CHAR_ARG_DECL
F77_RET_T const octave_idx_type Complex const octave_idx_type octave_idx_type Complex Complex const octave_idx_type double double Complex const octave_idx_type double octave_idx_type octave_idx_type &F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL
liboctave_error_handler current_liboctave_error_handler
F77_RET_T Complex Complex double double *static octave_idx_type select_ana(const Complex &a)
std::complex< double > w(std::complex< double > z, double relerr=0)
octave_idx_type(* select_function)(const Complex &)
octave_idx_type init(const ComplexMatrix &a, const std::string &ord, bool calc_unitary)
ComplexMatrix unitary_mat
#define OCTAVE_LOCAL_BUFFER(T, buf, size)
std::complex< double > Complex
const T * fortran_vec(void) const
octave_idx_type cols(void) const
octave_idx_type columns(void) const