38 const octave_idx_type&,
float*,
float*,
float*,
39 const octave_idx_type&,
float*,
40 const octave_idx_type&,
float*,
41 const octave_idx_type&, octave_idx_type&
49 const octave_idx_type&, FloatComplex*, FloatComplex*,
50 const octave_idx_type&, FloatComplex*,
51 const octave_idx_type&, FloatComplex*,
52 const octave_idx_type&,
float*, octave_idx_type&
59 const octave_idx_type&,
float*,
60 const octave_idx_type&,
float*,
float*,
61 const octave_idx_type&, octave_idx_type&
68 const octave_idx_type&, FloatComplex*,
69 const octave_idx_type&,
float*, FloatComplex*,
70 const octave_idx_type&,
float*, octave_idx_type&
76 const octave_idx_type&,
float*,
77 const octave_idx_type&, octave_idx_type&
83 const octave_idx_type&, FloatComplex*,
84 const octave_idx_type&, octave_idx_type&
91 const octave_idx_type&,
float*,
92 const octave_idx_type&,
float*,
93 const octave_idx_type&,
float*,
float*,
float*,
94 float*,
const octave_idx_type&,
float*,
95 const octave_idx_type&,
float*,
96 const octave_idx_type&, octave_idx_type&
101 F77_FUNC (ssygv, SSYGV) (
const octave_idx_type&,
104 const octave_idx_type&,
float*,
105 const octave_idx_type&,
float*,
106 const octave_idx_type&,
float*,
float*,
107 const octave_idx_type&, octave_idx_type&
114 const octave_idx_type&, FloatComplex*,
115 const octave_idx_type&, FloatComplex*,
116 const octave_idx_type&, FloatComplex*,
117 FloatComplex*, FloatComplex*,
118 const octave_idx_type&, FloatComplex*,
119 const octave_idx_type&, FloatComplex*,
120 const octave_idx_type&,
float*, octave_idx_type&
125 F77_FUNC (chegv, CHEGV) (
const octave_idx_type&,
128 const octave_idx_type&, FloatComplex*,
129 const octave_idx_type&, FloatComplex*,
130 const octave_idx_type&,
float*, FloatComplex*,
131 const octave_idx_type&,
float*, octave_idx_type&
141 (*current_liboctave_error_handler)
142 (
"EIG: matrix contains Inf or NaN values");
153 (*current_liboctave_error_handler) (
"EIG requires square matrix");
180 n, tmp_data, n, pwr, pwi, dummy,
181 idummy, pvr, n, &dummy_work, lwork, info
193 n, tmp_data, n, pwr, pwi, dummy,
194 idummy, pvr, n, pwork, lwork, info
200 (*current_liboctave_error_handler) (
"unrecoverable error in sgeev");
206 (*current_liboctave_error_handler) (
"sgeev failed to converge");
215 if (wi.
elem (j) == 0.0)
225 (*current_liboctave_error_handler) (
"EIG: internal error");
234 float real_part = vr.
elem (i, j);
235 float imag_part = vr.
elem (i, j+1);
256 (*current_liboctave_error_handler) (
"EIG requires square matrix");
273 n, tmp_data, n, pwr, &dummy_work, lwork, info
285 n, tmp_data, n, pwr, pwork, lwork, info
291 (*current_liboctave_error_handler) (
"unrecoverable error in ssyev");
297 (*current_liboctave_error_handler) (
"ssyev failed to converge");
315 (*current_liboctave_error_handler)
316 (
"EIG: matrix contains Inf or NaN values");
327 (*current_liboctave_error_handler) (
"EIG requires square matrix");
355 n, tmp_data, n, pw, dummy, idummy,
356 pv, n, &dummy_work, lwork, prwork, info
368 n, tmp_data, n, pw, dummy, idummy,
369 pv, n, pwork, lwork, prwork, info
375 (*current_liboctave_error_handler) (
"unrecoverable error in cgeev");
381 (*current_liboctave_error_handler) (
"cgeev failed to converge");
401 (*current_liboctave_error_handler) (
"EIG requires square matrix");
422 n, tmp_data, n, pwr, &dummy_work, lwork,
435 n, tmp_data, n, pwr, pwork, lwork, prwork, info
441 (*current_liboctave_error_handler) (
"unrecoverable error in cheev");
447 (*current_liboctave_error_handler) (
"cheev failed to converge");
465 (*current_liboctave_error_handler)
466 (
"EIG: matrix contains Inf or NaN values");
473 if (n != a.
cols () || nb != b.
cols ())
475 (*current_liboctave_error_handler) (
"EIG requires square matrix");
481 (*current_liboctave_error_handler) (
"EIG requires same size matrices");
526 n, atmp_data, n, btmp_data, n,
528 dummy, idummy, pvr, n,
529 &dummy_work, lwork, info
541 n, atmp_data, n, btmp_data, n,
543 dummy, idummy, pvr, n,
550 (*current_liboctave_error_handler) (
"unrecoverable error in sggev");
556 (*current_liboctave_error_handler) (
"sggev failed to converge");
565 if (ai.
elem (j) == 0.0)
575 (*current_liboctave_error_handler) (
"EIG: internal error");
586 float real_part = vr.
elem (i, j);
587 float imag_part = vr.
elem (i, j+1);
608 if (n != a.
cols () || nb != b.
cols ())
610 (*current_liboctave_error_handler) (
"EIG requires square matrix");
616 (*current_liboctave_error_handler) (
"EIG requires same size matrices");
638 pwr, &dummy_work, lwork, info
652 pwr, pwork, lwork, info
658 (*current_liboctave_error_handler) (
"unrecoverable error in ssygv");
664 (*current_liboctave_error_handler) (
"ssygv failed to converge");
683 (*current_liboctave_error_handler)
684 (
"EIG: matrix contains Inf or NaN values");
691 if (n != a.
cols () || nb != b.
cols ())
693 (*current_liboctave_error_handler) (
"EIG requires square matrix");
699 (*current_liboctave_error_handler) (
"EIG requires same size matrices");
745 n, atmp_data, n, btmp_data, n,
746 palpha, pbeta, dummy, idummy,
747 pv, n, &dummy_work, lwork, prwork, info
759 n, atmp_data, n, btmp_data, n,
760 palpha, pbeta, dummy, idummy,
761 pv, n, pwork, lwork, prwork, info
767 (*current_liboctave_error_handler) (
"unrecoverable error in cggev");
773 (*current_liboctave_error_handler) (
"cggev failed to converge");
797 if (n != a.
cols () || nb != b.
cols ())
799 (*current_liboctave_error_handler) (
"EIG requires square matrix");
805 (*current_liboctave_error_handler) (
"EIG requires same size matrices");
831 pwr, &dummy_work, lwork,
846 pwr, pwork, lwork, prwork, info
852 (*current_liboctave_error_handler) (
"unrecoverable error in zhegv");
858 (*current_liboctave_error_handler) (
"zhegv failed to converge");