コード例 #1
0
/*************************************************************************
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;
}
コード例 #2
0
ファイル: srcond.cpp プロジェクト: gilso/Packages
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;
}