zdrvrfp.f - Man Page

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.

Referenced By

The man page zdrvrfp(3) is an alias of zdrvrfp.f(3).

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK