 |
|
| |
TESTING/LIN/sdrvrfp.f(3) |
LAPACK |
TESTING/LIN/sdrvrfp.f(3) |
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
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.
Generated automatically by Doxygen for LAPACK from the source
code.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|