50 const octave_idx_type&,
double*,
51 const octave_idx_type&, octave_idx_type&
56 const octave_idx_type&,
double*,
57 const octave_idx_type&,
const double&,
58 double&,
double*, octave_idx_type*,
64 F77_FUNC (dch1up, DCH1UP) (
const octave_idx_type&,
double*,
65 const octave_idx_type&,
double*,
double*);
68 F77_FUNC (dch1dn, DCH1DN) (
const octave_idx_type&,
double*,
69 const octave_idx_type&,
double*,
double*,
73 F77_FUNC (dchinx, DCHINX) (
const octave_idx_type&,
double*,
74 const octave_idx_type&,
const octave_idx_type&,
75 double*,
double*, octave_idx_type&);
78 F77_FUNC (dchdex, DCHDEX) (
const octave_idx_type&,
double*,
79 const octave_idx_type&,
const octave_idx_type&,
83 F77_FUNC (dchshx, DCHSHX) (
const octave_idx_type&,
double*,
84 const octave_idx_type&,
const octave_idx_type&,
85 const octave_idx_type&,
double*);
97 (*current_liboctave_error_handler) (
"CHOL requires square matrix");
117 anorm =
xnorm (a, 1);
136 n, anorm,
xrcond, pz, piz, dpocon_info
139 if (dpocon_info != 0)
252 else if (j < 0 || j > n)
253 (*current_liboctave_error_handler) (
"cholinsert: index out of range");
274 if (j < 0 || j > n-1)
275 (*current_liboctave_error_handler) (
"choldelete: index out of range");
292 if (i < 0 || i > n-1 || j < 0 || j > n-1)
293 (*current_liboctave_error_handler) (
"cholshift: index out of range");
308 warn_qrupdate_once ();
322 singular (
const Matrix& a)
325 if (a(i,i) == 0.0)
return true;
332 warn_qrupdate_once ();
358 warn_qrupdate_once ();
366 else if (j < 0 || j > n)
367 (*current_liboctave_error_handler) (
"cholinsert: index out of range");
384 a1(k, l) = a(k < j ? k : k-1, l < j ? l : l-1);
386 info =
init (a1,
false);
397 warn_qrupdate_once ();
401 if (j < 0 || j > n-1)
402 (*current_liboctave_error_handler) (
"choldelete: index out of range");
415 warn_qrupdate_once ();
419 if (i < 0 || i > n-1 || j < 0 || j > n-1)
420 (*current_liboctave_error_handler) (
"cholshift: index out of range");