.TH "TESTING/LIN/ddrvrfp.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME TESTING/LIN/ddrvrfp.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBddrvrfp\fP (nout, nn, nval, nns, nsval, nnt, ntval, thresh, a, asav, afac, ainv, b, bsav, xact, x, arf, arfinv, d_work_dlatms, d_work_dpot01, d_temp_dpot02, d_temp_dpot03, d_work_dlansy, d_work_dpot02, d_work_dpot03)" .br .RI "\fBDDRVRFP\fP " .in -1c .SH "Function/Subroutine Documentation" .PP .SS "subroutine ddrvrfp (integer nout, integer nn, integer, dimension( nn ) nval, integer nns, integer, dimension( nns ) nsval, integer nnt, integer, dimension( nnt ) ntval, double precision thresh, double precision, dimension( * ) a, double precision, dimension( * ) asav, double precision, dimension( * ) afac, double precision, dimension( * ) ainv, double precision, dimension( * ) b, double precision, dimension( * ) bsav, double precision, dimension( * ) xact, double precision, dimension( * ) x, double precision, dimension( * ) arf, double precision, dimension( * ) arfinv, double precision, dimension( * ) d_work_dlatms, double precision, dimension( * ) d_work_dpot01, double precision, dimension( * ) d_temp_dpot02, double precision, dimension( * ) d_temp_dpot03, double precision, dimension( * ) d_work_dlansy, double precision, dimension( * ) d_work_dpot02, double precision, dimension( * ) d_work_dpot03)" .PP \fBDDRVRFP\fP .PP \fBPurpose:\fP .RS 4 .PP .nf DDRVRFP tests the LAPACK RFP routines: DPFTRF, DPFTRS, and DPFTRI\&. 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 DTRTTF and DTFTTR\&. 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 DPFTRF, 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 DPFTRF 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\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fINOUT\fP .PP .nf NOUT is INTEGER The unit number for output\&. .fi .PP .br \fINN\fP .PP .nf NN is INTEGER The number of values of N contained in the vector NVAL\&. .fi .PP .br \fINVAL\fP .PP .nf NVAL is INTEGER array, dimension (NN) The values of the matrix dimension N\&. .fi .PP .br \fINNS\fP .PP .nf NNS is INTEGER The number of values of NRHS contained in the vector NSVAL\&. .fi .PP .br \fINSVAL\fP .PP .nf NSVAL is INTEGER array, dimension (NNS) The values of the number of right-hand sides NRHS\&. .fi .PP .br \fINNT\fP .PP .nf NNT is INTEGER The number of values of MATRIX TYPE contained in the vector NTVAL\&. .fi .PP .br \fINTVAL\fP .PP .nf NTVAL is INTEGER array, dimension (NNT) The values of matrix type (between 0 and 9 for PO/PP/PF matrices)\&. .fi .PP .br \fITHRESH\fP .PP .nf 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\&. .fi .PP .br \fIA\fP .PP .nf A is DOUBLE PRECISION array, dimension (NMAX*NMAX) .fi .PP .br \fIASAV\fP .PP .nf ASAV is DOUBLE PRECISION array, dimension (NMAX*NMAX) .fi .PP .br \fIAFAC\fP .PP .nf AFAC is DOUBLE PRECISION array, dimension (NMAX*NMAX) .fi .PP .br \fIAINV\fP .PP .nf AINV is DOUBLE PRECISION array, dimension (NMAX*NMAX) .fi .PP .br \fIB\fP .PP .nf B is DOUBLE PRECISION array, dimension (NMAX*MAXRHS) .fi .PP .br \fIBSAV\fP .PP .nf BSAV is DOUBLE PRECISION array, dimension (NMAX*MAXRHS) .fi .PP .br \fIXACT\fP .PP .nf XACT is DOUBLE PRECISION array, dimension (NMAX*MAXRHS) .fi .PP .br \fIX\fP .PP .nf X is DOUBLE PRECISION array, dimension (NMAX*MAXRHS) .fi .PP .br \fIARF\fP .PP .nf ARF is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2) .fi .PP .br \fIARFINV\fP .PP .nf ARFINV is DOUBLE PRECISION array, dimension ((NMAX*(NMAX+1))/2) .fi .PP .br \fID_WORK_DLATMS\fP .PP .nf D_WORK_DLATMS is DOUBLE PRECISION array, dimension ( 3*NMAX ) .fi .PP .br \fID_WORK_DPOT01\fP .PP .nf D_WORK_DPOT01 is DOUBLE PRECISION array, dimension ( NMAX ) .fi .PP .br \fID_TEMP_DPOT02\fP .PP .nf D_TEMP_DPOT02 is DOUBLE PRECISION array, dimension ( NMAX*MAXRHS ) .fi .PP .br \fID_TEMP_DPOT03\fP .PP .nf D_TEMP_DPOT03 is DOUBLE PRECISION array, dimension ( NMAX*NMAX ) .fi .PP .br \fID_WORK_DLANSY\fP .PP .nf D_WORK_DLANSY is DOUBLE PRECISION array, dimension ( NMAX ) .fi .PP .br \fID_WORK_DPOT02\fP .PP .nf D_WORK_DPOT02 is DOUBLE PRECISION array, dimension ( NMAX ) .fi .PP .br \fID_WORK_DPOT03\fP .PP .nf D_WORK_DPOT03 is DOUBLE PRECISION array, dimension ( NMAX ) .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB232\fP of file \fBddrvrfp\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.