/************************************************************************* Obsolete 1-based subroutine *************************************************************************/ double determinantsymmetric(ap::real_2d_array a, int n, bool isupper) { double result; ap::integer_1d_array pivots; ldltdecomposition(a, n, isupper, pivots); result = determinantldlt(a, pivots, n, isupper); return result; }
double rcondsymmetric(ap::real_2d_array a, int n, bool isupper) { double result; int i; int j; int im; int jm; double v; double nrm; ap::integer_1d_array pivots; nrm = 0; for(j = 1; j <= n; j++) { v = 0; for(i = 1; i <= n; i++) { im = i; jm = j; if( isupper&&j<i ) { im = j; jm = i; } if( !isupper&&j>i ) { im = j; jm = i; } v = v+fabs(a(im,jm)); } nrm = ap::maxreal(nrm, v); } ldltdecomposition(a, n, isupper, pivots); internalldltrcond(a, pivots, n, isupper, true, nrm, v); result = v; return result; }