TESTING/LIN/zdrvrfp.f(3) | Library Functions Manual | TESTING/LIN/zdrvrfp.f(3) |
NAME
TESTING/LIN/zdrvrfp.f
SYNOPSIS
Functions/Subroutines
subroutine zdrvrfp (nout, nn, nval, nns, nsval, nnt, ntval,
thresh, a, asav, afac, ainv, b, bsav, xact, x, arf, arfinv, z_work_zlatms,
z_work_zpot02, z_work_zpot03, d_work_zlatms, d_work_zlanhe, d_work_zpot01,
d_work_zpot02, d_work_zpot03)
ZDRVRFP
Function/Subroutine Documentation
subroutine zdrvrfp (integer nout, integer nn, integer, dimension( nn ) nval, integer nns, integer, dimension( nns ) nsval, integer nnt, integer, dimension( nnt ) ntval, double precision thresh, complex*16, dimension( * ) a, complex*16, dimension( * ) asav, complex*16, dimension( * ) afac, complex*16, dimension( * ) ainv, complex*16, dimension( * ) b, complex*16, dimension( * ) bsav, complex*16, dimension( * ) xact, complex*16, dimension( * ) x, complex*16, dimension( * ) arf, complex*16, dimension( * ) arfinv, complex*16, dimension( * ) z_work_zlatms, complex*16, dimension( * ) z_work_zpot02, complex*16, dimension( * ) z_work_zpot03, double precision, dimension( * ) d_work_zlatms, double precision, dimension( * ) d_work_zlanhe, double precision, dimension( * ) d_work_zpot01, double precision, dimension( * ) d_work_zpot02, double precision, dimension( * ) d_work_zpot03)
ZDRVRFP
Purpose:
ZDRVRFP tests the LAPACK RFP routines: ZPFTRF, ZPFTRS, and ZPFTRI. This testing routine follow the same tests as ZDRVPO (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 ZTRTTF and ZTFTTR. 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 ZPFTRF, 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 ZPFTRF 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 DOUBLE PRECISION 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 COMPLEX*16 array, dimension (NMAX*NMAX)
ASAV
ASAV is COMPLEX*16 array, dimension (NMAX*NMAX)
AFAC
AFAC is COMPLEX*16 array, dimension (NMAX*NMAX)
AINV
AINV is COMPLEX*16 array, dimension (NMAX*NMAX)
B
B is COMPLEX*16 array, dimension (NMAX*MAXRHS)
BSAV
BSAV is COMPLEX*16 array, dimension (NMAX*MAXRHS)
XACT
XACT is COMPLEX*16 array, dimension (NMAX*MAXRHS)
X
X is COMPLEX*16 array, dimension (NMAX*MAXRHS)
ARF
ARF is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2)
ARFINV
ARFINV is COMPLEX*16 array, dimension ((NMAX*(NMAX+1))/2)
Z_WORK_ZLATMS
Z_WORK_ZLATMS is COMPLEX*16 array, dimension ( 3*NMAX )
Z_WORK_ZPOT02
Z_WORK_ZPOT02 is COMPLEX*16 array, dimension ( NMAX*MAXRHS )
Z_WORK_ZPOT03
Z_WORK_ZPOT03 is COMPLEX*16 array, dimension ( NMAX*NMAX )
D_WORK_ZLATMS
D_WORK_ZLATMS is DOUBLE PRECISION array, dimension ( NMAX )
D_WORK_ZLANHE
D_WORK_ZLANHE is DOUBLE PRECISION array, dimension ( NMAX )
D_WORK_ZPOT01
D_WORK_ZPOT01 is DOUBLE PRECISION array, dimension ( NMAX )
D_WORK_ZPOT02
D_WORK_ZPOT02 is DOUBLE PRECISION array, dimension ( NMAX )
D_WORK_ZPOT03
D_WORK_ZPOT03 is DOUBLE PRECISION array, dimension ( NMAX )
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 238 of file zdrvrfp.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 | LAPACK |