44 Complex*,
const octave_idx_type&, Complex*,
45 Complex*,
const octave_idx_type&,
49 F77_FUNC (zungqr, ZUNGQR) (
const octave_idx_type&,
const octave_idx_type&,
50 const octave_idx_type&, Complex*,
51 const octave_idx_type&, Complex*, Complex*,
52 const octave_idx_type&, octave_idx_type&);
57 F77_FUNC (zqr1up, ZQR1UP) (
const octave_idx_type&,
const octave_idx_type&,
58 const octave_idx_type&, Complex*,
59 const octave_idx_type&, Complex*,
60 const octave_idx_type&, Complex*,
61 Complex*, Complex*,
double*);
64 F77_FUNC (zqrinc, ZQRINC) (
const octave_idx_type&,
const octave_idx_type&,
65 const octave_idx_type&, Complex*,
66 const octave_idx_type&, Complex*,
67 const octave_idx_type&,
const octave_idx_type&,
68 const Complex*,
double*);
71 F77_FUNC (zqrdec, ZQRDEC) (
const octave_idx_type&,
const octave_idx_type&,
72 const octave_idx_type&, Complex*,
73 const octave_idx_type&, Complex*,
74 const octave_idx_type&,
const octave_idx_type&,
78 F77_FUNC (zqrinr, ZQRINR) (
const octave_idx_type&,
const octave_idx_type&,
79 Complex*,
const octave_idx_type&, Complex*,
80 const octave_idx_type&,
const octave_idx_type&,
81 const Complex*,
double*);
84 F77_FUNC (zqrder, ZQRDER) (
const octave_idx_type&,
const octave_idx_type&,
85 Complex*,
const octave_idx_type&, Complex*,
86 const octave_idx_type&,
const octave_idx_type&,
90 F77_FUNC (zqrshc, ZQRSHC) (
const octave_idx_type&,
const octave_idx_type&,
91 const octave_idx_type&, Complex*,
92 const octave_idx_type&, Complex*,
93 const octave_idx_type&,
const octave_idx_type&,
94 const octave_idx_type&, Complex*,
double*);
128 lwork =
std::max (lwork, static_cast<octave_idx_type> (1));
134 form (n, afact, tau, qr_type);
149 afact.
elem (i, j) *= tau[j];
181 afact.
xelem (i, j) = 0;
197 lwork =
std::max (lwork, static_cast<octave_idx_type> (1));
261 else if (j < 0 || j > n)
262 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
295 dups = dups && js(i) == js(i+1);
298 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
301 else if (nj > 0 && (js(0) < 0 || js(nj-1) > n))
302 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
336 if (j < 0 || j > n-1)
337 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
368 dups = dups && js(i) == js(i+1);
371 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
372 else if (nj > 0 && (js(0) > n-1 || js(nj-1) < 0))
380 F77_XFCN (zqrdec, ZQRDEC, (m, n - ii, k == m ? k : k - ii,
407 else if (j < 0 || j > m)
408 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
430 else if (j < 0 || j > m-1)
431 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
452 if (i < 0 || i > n-1 || j < 0 || j > n-1)
453 (*current_liboctave_error_handler) (
"qrshift: index out of range");
461 i + 1, j + 1,
w, rw));
472 warn_qrupdate_once ();
489 warn_qrupdate_once ();
568 warn_qrupdate_once ();
575 else if (j < 0 || j > n)
576 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
586 warn_qrupdate_once ();
596 dups = dups && js(i) == js(i+1);
599 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
602 else if (nj > 0 && (js(0) < 0 || js(nj-1) > n))
603 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
616 warn_qrupdate_once ();
621 if (j < 0 || j > n-1)
622 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
632 warn_qrupdate_once ();
642 dups = dups && js(i) == js(i+1);
645 (*current_liboctave_error_handler) (
"qrinsert: duplicate index detected");
646 else if (nj > 0 && (js(0) > n-1 || js(nj-1) < 0))
660 warn_qrupdate_once ();
667 else if (j < 0 || j > m)
668 (*current_liboctave_error_handler) (
"qrinsert: index out of range");
678 warn_qrupdate_once ();
685 else if (j < 0 || j > m-1)
686 (*current_liboctave_error_handler) (
"qrdelete: index out of range");
696 warn_qrupdate_once ();
701 if (i < 0 || i > n-1 || j < 0 || j > n-1)
702 (*current_liboctave_error_handler) (
"qrshift: index out of range");