23 #if defined (HAVE_CONFIG_H)
47 (*current_liboctave_error_handler) (
"hess: requires square matrix");
59 double *
h = hess_mat.fortran_vec ();
64 F77_XFCN (dgebal, DGEBAL, (F77_CONST_CHAR_ARG2 (&job, 1),
65 n, h, n, ilo, ihi, pscale, info
66 F77_CHAR_ARG_LEN (1)));
74 F77_XFCN (dgehrd, DGEHRD, (n, ilo, ihi, h, n, ptau, pwork,
77 unitary_hess_mat = hess_mat;
78 double *z = unitary_hess_mat.fortran_vec ();
80 F77_XFCN (dorghr, DORGHR, (n, ilo, ihi, z, n, ptau, pwork,
83 F77_XFCN (dgebak, DGEBAK, (F77_CONST_CHAR_ARG2 (&job, 1),
84 F77_CONST_CHAR_ARG2 (&side, 1),
85 n, ilo, ihi, pscale, n, z,
88 F77_CHAR_ARG_LEN (1)));
97 hess_mat.elem (
i, j) = 0;
110 (*current_liboctave_error_handler) (
"hess: requires square matrix");
122 float *
h = hess_mat.fortran_vec ();
127 F77_XFCN (sgebal, SGEBAL, (F77_CONST_CHAR_ARG2 (&job, 1),
128 n, h, n, ilo, ihi, pscale, info
129 F77_CHAR_ARG_LEN (1)));
137 F77_XFCN (sgehrd, SGEHRD, (n, ilo, ihi, h, n, ptau, pwork,
140 unitary_hess_mat = hess_mat;
141 float *z = unitary_hess_mat.fortran_vec ();
143 F77_XFCN (sorghr, SORGHR, (n, ilo, ihi, z, n, ptau, pwork,
146 F77_XFCN (sgebak, SGEBAK, (F77_CONST_CHAR_ARG2 (&job, 1),
147 F77_CONST_CHAR_ARG2 (&side, 1),
148 n, ilo, ihi, pscale, n, z,
151 F77_CHAR_ARG_LEN (1)));
160 hess_mat.elem (
i, j) = 0;
173 (*current_liboctave_error_handler) (
"hess: requires square matrix");
185 Complex *
h = hess_mat.fortran_vec ();
190 F77_XFCN (zgebal, ZGEBAL, (F77_CONST_CHAR_ARG2 (&job, 1),
192 F77_CHAR_ARG_LEN (1)));
203 unitary_hess_mat = hess_mat;
204 Complex *z = unitary_hess_mat.fortran_vec ();
210 F77_XFCN (zgebak, ZGEBAK, (F77_CONST_CHAR_ARG2 (&job, 1),
211 F77_CONST_CHAR_ARG2 (&side, 1),
214 F77_CHAR_ARG_LEN (1)));
223 hess_mat.elem (
i, j) = 0;
237 (*current_liboctave_error_handler) (
"hess: requires square matrix");
256 F77_XFCN (cgebal, CGEBAL, (F77_CONST_CHAR_ARG2 (&job, 1),
258 F77_CHAR_ARG_LEN (1)));
269 unitary_hess_mat = hess_mat;
276 F77_XFCN (cgebak, CGEBAK, (F77_CONST_CHAR_ARG2 (&job, 1),
277 F77_CONST_CHAR_ARG2 (&side, 1),
280 F77_CHAR_ARG_LEN (1)));
289 hess_mat.elem (
i, j) = 0;
Octave interface to the compression and uncompression libraries.
#define F77_DBLE_CMPLX_ARG(x)
#define F77_XFCN(f, F, args)
octave_idx_type rows(void) const
calling an anonymous function involves an overhead quite comparable to the overhead of an m file function Passing a handle to a built in function is because the interpreter is not involved in the internal loop For a
=val(i)}if ode{val(i)}occurs in table i
void scale(Matrix &m, double x, double y, double z)
std::complex< float > FloatComplex
octave_idx_type init(const T &a)
std::complex< double > Complex
const T * fortran_vec(void) const
octave_idx_type cols(void) const
Vector representing the dimensions (size) of an Array.