TESTING/LIN/sdrvrfp.f(3)

NAME
TESTING/LIN/sdrvrfp.f

SYNOPSIS

  Functions/Subroutines
subroutine sdrvrfp (nout, nn, nval, nns, nsval, nnt, ntval, thresh, a, asav, afac, ainv, b, bsav, xact, x, arf, arfinv, s_work_slatms, s_work_spot01, s_temp_spot02, s_temp_spot03, s_work_slansy, s_work_spot02, s_work_spot03)
SDRVRFP

Function/Subroutine Documentation

  subroutine sdrvrfp (integer nout, integer nn, integer, dimension( nn ) nval, integer nns, integer, dimension( nns ) nsval, integer nnt, integer, dimension( nnt ) ntval, real thresh, real, dimension( * ) a, real, dimension( * ) asav, real, dimension( * ) afac, real, dimension( * ) ainv, real, dimension( * ) b, real, dimension( * ) bsav, real, dimension( * ) xact, real, dimension( * ) x, real, dimension( * ) arf, real, dimension( * ) arfinv, real, dimension( * ) s_work_slatms, real, dimension( * ) s_work_spot01, real, dimension( * ) s_temp_spot02, real, dimension( * ) s_temp_spot03, real, dimension( * ) s_work_slansy, real, dimension( * ) s_work_spot02, real, dimension( * ) s_work_spot03)

SDRVRFP

Purpose:

     SDRVRFP tests the LAPACK RFP routines:
         SPFTRF, SPFTRS, and SPFTRI.
     This testing routine follow the same tests as DDRVPO (test for the full
     format Symmetric Positive Definite solver).
     The tests are performed in Full Format, conversion back and forth from
     full format to RFP format are performed using the routines STRTTF and
     STFTTR.
     First, a specific matrix A of size N is created. There is nine types of
     different matrixes possible.
      1. Diagonal                        6. Random, CNDNUM = sqrt(0.1/EPS)
      2. Random, CNDNUM = 2              7. Random, CNDNUM = 0.1/EPS
     *3. First row and column zero       8. Scaled near underflow
     *4. Last row and column zero        9. Scaled near overflow
     *5. Middle row and column zero
     (* - tests error exits from SPFTRF, no test ratios are computed)
     A solution XACT of size N-by-NRHS is created and the associated right
     hand side B as well. Then SPFTRF is called to compute L (or U), the
     Cholesky factor of A. Then L (or U) is used to solve the linear system
     of equations AX = B. This gives X. Then L (or U) is used to compute the
     inverse of A, AINV. The following four tests are then performed:
     (1) norm( L*L' - A ) / ( N * norm(A) * EPS ) or
         norm( U'*U - A ) / ( N * norm(A) * EPS ),
     (2) norm(B - A*X) / ( norm(A) * norm(X) * EPS ),
     (3) norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ),
     (4) ( norm(X-XACT) * RCOND ) / ( norm(XACT) * EPS ),
     where EPS is the machine precision, RCOND the condition number of A, and
     norm( . ) the 1-norm for (1,2,3) and the inf-norm for (4).
     Errors occur when INFO parameter is not as expected. Failures occur when
     a test ratios is greater than THRES.

Parameters
    NOUT

              NOUT is INTEGER
                    The unit number for output.

    NN

              NN is INTEGER
                    The number of values of N contained in the vector NVAL.

    NVAL

              NVAL is INTEGER array, dimension (NN)
                    The values of the matrix dimension N.

    NNS

              NNS is INTEGER
                    The number of values of NRHS contained in the vector NSVAL.

    NSVAL

              NSVAL is INTEGER array, dimension (NNS)
                    The values of the number of right-hand sides NRHS.

    NNT

              NNT is INTEGER
                    The number of values of MATRIX TYPE contained in the vector NTVAL.

    NTVAL

              NTVAL is INTEGER array, dimension (NNT)
                    The values of matrix type (between 0 and 9 for PO/PP/PF matrices).

    THRESH

              THRESH is REAL
                    The threshold value for the test ratios.  A result is
                    included in the output file if RESULT >= THRESH.  To have
                    every test ratio printed, use THRESH = 0.

    A

              A is REAL array, dimension (NMAX*NMAX)

    ASAV

              ASAV is REAL array, dimension (NMAX*NMAX)

    AFAC

              AFAC is REAL array, dimension (NMAX*NMAX)

    AINV

              AINV is REAL array, dimension (NMAX*NMAX)

    B

              B is REAL array, dimension (NMAX*MAXRHS)

    BSAV

              BSAV is REAL array, dimension (NMAX*MAXRHS)

    XACT

              XACT is REAL array, dimension (NMAX*MAXRHS)

    X

              X is REAL array, dimension (NMAX*MAXRHS)

    ARF

              ARF is REAL array, dimension ((NMAX*(NMAX+1))/2)

    ARFINV

              ARFINV is REAL array, dimension ((NMAX*(NMAX+1))/2)

    S_WORK_SLATMS

              S_WORK_SLATMS is REAL array, dimension ( 3*NMAX )

    S_WORK_SPOT01

              S_WORK_SPOT01 is REAL array, dimension ( NMAX )

    S_TEMP_SPOT02

              S_TEMP_SPOT02 is REAL array, dimension ( NMAX*MAXRHS )

    S_TEMP_SPOT03

              S_TEMP_SPOT03 is REAL array, dimension ( NMAX*NMAX )

    S_WORK_SLANSY

              S_WORK_SLANSY is REAL array, dimension ( NMAX )

    S_WORK_SPOT02

              S_WORK_SPOT02 is REAL array, dimension ( NMAX )

    S_WORK_SPOT03

              S_WORK_SPOT03 is REAL array, dimension ( NMAX )

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 232 of file sdrvrfp.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.