Mercurial > hg > octave-nkf
comparison liboctave/floatCHOL.cc @ 10350:12884915a8e4
merge MArray classes & improve Array interface
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Sat, 23 Jan 2010 21:41:03 +0100 |
parents | 07ebe522dac2 |
children | 8a5e980da6aa |
comparison
equal
deleted
inserted
replaced
10349:d4d13389c957 | 10350:12884915a8e4 |
---|---|
121 else if (calc_cond) | 121 else if (calc_cond) |
122 { | 122 { |
123 octave_idx_type spocon_info = 0; | 123 octave_idx_type spocon_info = 0; |
124 | 124 |
125 // Now calculate the condition number for non-singular matrix. | 125 // Now calculate the condition number for non-singular matrix. |
126 Array<float> z (3*n); | 126 Array<float> z (3*n, 1); |
127 float *pz = z.fortran_vec (); | 127 float *pz = z.fortran_vec (); |
128 Array<octave_idx_type> iz (n); | 128 Array<octave_idx_type> iz (n, 1); |
129 octave_idx_type *piz = iz.fortran_vec (); | 129 octave_idx_type *piz = iz.fortran_vec (); |
130 F77_XFCN (spocon, SPOCON, (F77_CONST_CHAR_ARG2 ("U", 1), n, h, | 130 F77_XFCN (spocon, SPOCON, (F77_CONST_CHAR_ARG2 ("U", 1), n, h, |
131 n, anorm, xrcond, pz, piz, spocon_info | 131 n, anorm, xrcond, pz, piz, spocon_info |
132 F77_CHAR_ARG_LEN (1))); | 132 F77_CHAR_ARG_LEN (1))); |
133 | 133 |
414 if (i < 0 || i > n-1 || j < 0 || j > n-1) | 414 if (i < 0 || i > n-1 || j < 0 || j > n-1) |
415 (*current_liboctave_error_handler) ("cholshift: index out of range"); | 415 (*current_liboctave_error_handler) ("cholshift: index out of range"); |
416 else | 416 else |
417 { | 417 { |
418 FloatMatrix a = chol_mat.transpose () * chol_mat; | 418 FloatMatrix a = chol_mat.transpose () * chol_mat; |
419 Array<octave_idx_type> p (n); | 419 Array<octave_idx_type> p (n, 1); |
420 for (octave_idx_type k = 0; k < n; k++) p(k) = k; | 420 for (octave_idx_type k = 0; k < n; k++) p(k) = k; |
421 if (i < j) | 421 if (i < j) |
422 { | 422 { |
423 for (octave_idx_type k = i; k < j; k++) p(k) = k+1; | 423 for (octave_idx_type k = i; k < j; k++) p(k) = k+1; |
424 p(j) = i; | 424 p(j) = i; |