/home/abui.../zdrvrfp.f(3)
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zdrvrfp.f
okay bestie, this is the zdrvrfp.f(3) page from the Library Functions Manual β and yes, we're gonna get through all of it together. π
β¨ 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 π―
okay so ZDRVRFP is the vibe-check routine for the LAPACK RFP routines: ZPFTRF, ZPFTRS, and ZPFTRI. It runs the same tests as ZDRVPO β which is the test for the full-format Symmetric Positive Definite solver. slay. π
The tests are performed in Full Format, and converting back and forth between full format and RFP format is done using ZTRTTF and ZTFTTR.
First, a specific matrix A of size N is created. There are nine types of different matrixes possible:
- Diagonal
- Random,
CNDNUM = 2 *First row and column zero*Last row and column zero*Middle row and column zero- Random,
CNDNUM = sqrt(0.1/EPS) - Random,
CNDNUM = 0.1/EPS - Scaled near underflow
- Scaled near overflow
* β 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 )ornorm( 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 ofNcontained in the vectorNVAL.NVALβNVAL is INTEGER array, dimension (NN)β the values of the matrix dimensionN.NNSβNNS is INTEGERβ the number of values ofNRHScontained in the vectorNSVAL.NSVALβNSVAL is INTEGER array, dimension (NNS)β the values of the number of right-hand sidesNRHS.NNTβNNT is INTEGERβ the number of values ofMATRIX TYPEcontained in the vectorNTVAL.NTVALβNTVAL is INTEGER array, dimension (NNT)β the values of matrix type (between0and9forPO/PP/PFmatrices).THRESHβTHRESH is DOUBLE PRECISIONβ the threshold value for the test ratios. A result is included in the output file ifRESULT >= THRESH. To have every test ratio printed, useTHRESH = 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.
mwah π this page is part of LAPACK Version 3.12.0, and its footer path is /home/abui.../zdrvrfp.f(3). iykyk π
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms