|
- *> \brief \b ZERRVX
- *
- * =========== DOCUMENTATION ===========
- *
- * Online html documentation available at
- * http://www.netlib.org/lapack/explore-html/
- *
- * Definition:
- * ===========
- *
- * SUBROUTINE ZERRVX( PATH, NUNIT )
- *
- * .. Scalar Arguments ..
- * CHARACTER*3 PATH
- * INTEGER NUNIT
- * ..
- *
- *
- *> \par Purpose:
- * =============
- *>
- *> \verbatim
- *>
- *> ZERRVX tests the error exits for the COMPLEX*16 driver routines
- *> for solving linear systems of equations.
- *> \endverbatim
- *
- * Arguments:
- * ==========
- *
- *> \param[in] PATH
- *> \verbatim
- *> PATH is CHARACTER*3
- *> The LAPACK path name for the routines to be tested.
- *> \endverbatim
- *>
- *> \param[in] NUNIT
- *> \verbatim
- *> NUNIT is INTEGER
- *> The unit number for output.
- *> \endverbatim
- *
- * Authors:
- * ========
- *
- *> \author Univ. of Tennessee
- *> \author Univ. of California Berkeley
- *> \author Univ. of Colorado Denver
- *> \author NAG Ltd.
- *
- *> \ingroup complex16_lin
- *
- * =====================================================================
- SUBROUTINE ZERRVX( PATH, NUNIT )
- *
- * -- LAPACK test routine --
- * -- LAPACK is a software package provided by Univ. of Tennessee, --
- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
- *
- * .. Scalar Arguments ..
- CHARACTER*3 PATH
- INTEGER NUNIT
- * ..
- *
- * =====================================================================
- *
- * .. Parameters ..
- INTEGER NMAX
- PARAMETER ( NMAX = 4 )
- * ..
- * .. Local Scalars ..
- CHARACTER EQ
- CHARACTER*2 C2
- INTEGER I, INFO, J
- DOUBLE PRECISION RCOND
- * ..
- * .. Local Arrays ..
- INTEGER IP( NMAX )
- DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
- $ RF( NMAX ), RW( NMAX )
- COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
- $ E( NMAX ), W( 2*NMAX ), X( NMAX )
- * ..
- * .. External Functions ..
- LOGICAL LSAMEN
- EXTERNAL LSAMEN
- * ..
- * .. External Subroutines ..
- EXTERNAL CHKXER, ZGBSV, ZGBSVX, ZGESV, ZGESVX, ZGTSV,
- $ ZGTSVX, ZHESV, ZHESV_RK, ZHESV_ROOK, ZHESVX,
- $ ZHPSV, ZHPSVX, ZPBSV, ZPBSVX, ZPOSV, ZPOSVX,
- $ ZPPSV, ZPPSVX, ZPTSV, ZPTSVX, ZSPSV, ZSPSVX,
- $ ZSYSV, ZSYSV_AA, ZSYSV_RK, ZSYSV_ROOK,
- $ ZSYSVX, ZHESV_AA_2STAGE
- * ..
- * .. Scalars in Common ..
- LOGICAL LERR, OK
- CHARACTER*32 SRNAMT
- INTEGER INFOT, NOUT
- * ..
- * .. Common blocks ..
- COMMON / INFOC / INFOT, NOUT, OK, LERR
- COMMON / SRNAMC / SRNAMT
- * ..
- * .. Intrinsic Functions ..
- INTRINSIC DBLE, DCMPLX
- * ..
- * .. Executable Statements ..
- *
- NOUT = NUNIT
- WRITE( NOUT, FMT = * )
- C2 = PATH( 2: 3 )
- *
- * Set the variables to innocuous values.
- *
- DO 20 J = 1, NMAX
- DO 10 I = 1, NMAX
- A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
- $ -1.D0 / DBLE( I+J ) )
- AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
- $ -1.D0 / DBLE( I+J ) )
- 10 CONTINUE
- B( J ) = 0.D0
- E( J ) = 0.D0
- R1( J ) = 0.D0
- R2( J ) = 0.D0
- W( J ) = 0.D0
- X( J ) = 0.D0
- C( J ) = 0.D0
- R( J ) = 0.D0
- IP( J ) = J
- 20 CONTINUE
- EQ = ' '
- OK = .TRUE.
- *
- IF( LSAMEN( 2, C2, 'GE' ) ) THEN
- *
- * ZGESV
- *
- SRNAMT = 'ZGESV '
- INFOT = 1
- CALL ZGESV( -1, 0, A, 1, IP, B, 1, INFO )
- CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGESV( 0, -1, A, 1, IP, B, 1, INFO )
- CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGESV( 2, 1, A, 1, IP, B, 2, INFO )
- CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGESV( 2, 1, A, 2, IP, B, 1, INFO )
- CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
- *
- * ZGESVX
- *
- SRNAMT = 'ZGESVX'
- INFOT = 1
- CALL ZGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
- $ X, 2, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
- $ X, 2, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 10
- EQ = '/'
- CALL ZGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 11
- EQ = 'R'
- CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 12
- EQ = 'C'
- CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
- $ X, 2, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
- $ X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
- *
- * ZGBSV
- *
- SRNAMT = 'ZGBSV '
- INFOT = 1
- CALL ZGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
- CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
- CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
- CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
- CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
- CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
- CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
- *
- * ZGBSVX
- *
- SRNAMT = 'ZGBSVX'
- INFOT = 1
- CALL ZGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 12
- EQ = '/'
- CALL ZGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- EQ = 'R'
- CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 14
- EQ = 'C'
- CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
- $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
- *
- * ZGTSV
- *
- SRNAMT = 'ZGTSV '
- INFOT = 1
- CALL ZGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
- $ INFO )
- CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
- $ INFO )
- CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
- CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
- *
- * ZGTSVX
- *
- SRNAMT = 'ZGTSVX'
- INFOT = 1
- CALL ZGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
- $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
- $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
- $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
- $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
- $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
- $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
- $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
- $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
- $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
- $ IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
- $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
- $ IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
- *
- * ZPOSV
- *
- SRNAMT = 'ZPOSV '
- INFOT = 1
- CALL ZPOSV( '/', 0, 0, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
- CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
- CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
- *
- * ZPOSVX
- *
- SRNAMT = 'ZPOSVX'
- INFOT = 1
- CALL ZPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 9
- EQ = '/'
- CALL ZPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 10
- EQ = 'Y'
- CALL ZPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
- *
- * ZPPSV
- *
- SRNAMT = 'ZPPSV '
- INFOT = 1
- CALL ZPPSV( '/', 0, 0, A, B, 1, INFO )
- CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPPSV( 'U', -1, 0, A, B, 1, INFO )
- CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZPPSV( 'U', 0, -1, A, B, 1, INFO )
- CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZPPSV( 'U', 2, 0, A, B, 1, INFO )
- CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
- *
- * ZPPSVX
- *
- SRNAMT = 'ZPPSVX'
- INFOT = 1
- CALL ZPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 7
- EQ = '/'
- CALL ZPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- EQ = 'Y'
- CALL ZPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
- $ R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
- *
- * ZPBSV
- *
- SRNAMT = 'ZPBSV '
- INFOT = 1
- CALL ZPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
- CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
- CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
- *
- * ZPBSVX
- *
- SRNAMT = 'ZPBSVX'
- INFOT = 1
- CALL ZPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
- $ 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
- $ 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
- $ 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 10
- EQ = '/'
- CALL ZPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 11
- EQ = 'Y'
- CALL ZPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
- $ RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
- *
- * ZPTSV
- *
- SRNAMT = 'ZPTSV '
- INFOT = 1
- CALL ZPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO )
- CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO )
- CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO )
- CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
- *
- * ZPTSVX
- *
- SRNAMT = 'ZPTSVX'
- INFOT = 1
- CALL ZPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
- $ 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
- $ 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
- $ 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
- $ 2, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X,
- $ 1, RCOND, R1, R2, W, RW, INFO )
- CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN
- *
- * ZHESV
- *
- SRNAMT = 'ZHESV '
- INFOT = 1
- CALL ZHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZHESV( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO )
- CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZHESV( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO )
- CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
- *
- * ZHESVX
- *
- SRNAMT = 'ZHESVX'
- INFOT = 1
- CALL ZHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
- $ RCOND, R1, R2, W, 3, RW, INFO )
- CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'HR' ) ) THEN
- *
- * ZHESV_ROOK
- *
- SRNAMT = 'ZHESV_ROOK'
- INFOT = 1
- CALL ZHESV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHESV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHESV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZHESV_ROOK( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZHESV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZHESV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO )
- CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZHESV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO )
- CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'HK' ) ) THEN
- *
- * ZSYSV_RK
- *
- * Test error exits of the driver that uses factorization
- * of a Hermitian indefinite matrix with rook
- * (bounded Bunch-Kaufman) pivoting with the new storage
- * format for factors L ( or U) and D.
- *
- * L (or U) is stored in A, diagonal of D is stored on the
- * diagonal of A, subdiagonal of D is stored in a separate array E.
- *
- SRNAMT = 'ZHESV_RK'
- INFOT = 1
- CALL ZHESV_RK( '/', 0, 0, A, 1, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHESV_RK( 'U', -1, 0, A, 1, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHESV_RK( 'U', 0, -1, A, 1, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZHESV_RK( 'U', 2, 0, A, 1, E, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZHESV_RK( 'U', 2, 0, A, 2, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZHESV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, 0, INFO )
- CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZHESV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, -2, INFO )
- CALL CHKXER( 'ZHESV_RK', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'HA' ) ) THEN
- *
- * ZHESV_AASEN
- *
- SRNAMT = 'ZHESV_AA'
- INFOT = 1
- CALL ZHESV_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHESV_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHESV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZHESV_AA( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZHESV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZHESV_AA( 'U', 3, 1, A, 3, IP, B, 3, W, 6, INFO )
- CALL CHKXER( 'ZHESV_AA', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'H2' ) ) THEN
- *
- * ZHESV_AASEN_2STAGE
- *
- SRNAMT = 'ZHESV_AA_2STAGE'
- INFOT = 1
- CALL ZHESV_AA_2STAGE( '/', 0, 0, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHESV_AA_2STAGE( 'U', -1, 0, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHESV_AA_2STAGE( 'U', 0, -1, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZHESV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
- $ W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 2,
- $ W, 1, INFO )
- CALL CHKXER( 'ZHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'SA' ) ) THEN
- *
- * ZSYSV_AASEN
- *
- SRNAMT = 'ZSYSV_AA'
- INFOT = 1
- CALL ZSYSV_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSYSV_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSYSV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZSYSV_AA( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZSYSV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZSYSV_AA( 'U', 3, 1, A, 3, IP, B, 3, W, 6, INFO )
- CALL CHKXER( 'ZSYSV_AA', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN
- *
- * ZSYSV_AASEN_2STAGE
- *
- SRNAMT = 'ZSYSV_AA_2STAGE'
- INFOT = 1
- CALL ZSYSV_AA_2STAGE( '/', 0, 0, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSYSV_AA_2STAGE( 'U', -1, 0, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSYSV_AA_2STAGE( 'U', 0, -1, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZSYSV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
- $ W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1,
- $ W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 2,
- $ W, 1, INFO )
- CALL CHKXER( 'ZSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN
- *
- * ZHPSV
- *
- SRNAMT = 'ZHPSV '
- INFOT = 1
- CALL ZHPSV( '/', 0, 0, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHPSV( 'U', -1, 0, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHPSV( 'U', 0, -1, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZHPSV( 'U', 2, 0, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
- *
- * ZHPSVX
- *
- SRNAMT = 'ZHPSVX'
- INFOT = 1
- CALL ZHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
- *
- * ZSYSV
- *
- SRNAMT = 'ZSYSV '
- INFOT = 1
- CALL ZSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZSYSV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO )
- CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO )
- CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
- *
- * ZSYSVX
- *
- SRNAMT = 'ZSYSVX'
- INFOT = 1
- CALL ZSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
- $ RCOND, R1, R2, W, 1, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
- $ RCOND, R1, R2, W, 4, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
- $ RCOND, R1, R2, W, 3, RW, INFO )
- CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'SR' ) ) THEN
- *
- * ZSYSV_ROOK
- *
- SRNAMT = 'ZSYSV_ROOK'
- INFOT = 1
- CALL ZSYSV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSYSV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZSYSV_ROOK( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO )
- CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO )
- *
- ELSE IF( LSAMEN( 2, C2, 'SK' ) ) THEN
- *
- * ZSYSV_RK
- *
- * Test error exits of the driver that uses factorization
- * of a symmetric indefinite matrix with rook
- * (bounded Bunch-Kaufman) pivoting with the new storage
- * format for factors L ( or U) and D.
- *
- * L (or U) is stored in A, diagonal of D is stored on the
- * diagonal of A, subdiagonal of D is stored in a separate array E.
- *
- SRNAMT = 'ZSYSV_RK'
- INFOT = 1
- CALL ZSYSV_RK( '/', 0, 0, A, 1, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSYSV_RK( 'U', -1, 0, A, 1, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSYSV_RK( 'U', 0, -1, A, 1, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZSYSV_RK( 'U', 2, 0, A, 1, E, IP, B, 2, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZSYSV_RK( 'U', 2, 0, A, 2, E, IP, B, 1, W, 1, INFO )
- CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, 0, INFO )
- CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, -2, INFO )
- CALL CHKXER( 'ZSYSV_RK', INFOT, NOUT, LERR, OK )
- *
- ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
- *
- * ZSPSV
- *
- SRNAMT = 'ZSPSV '
- INFOT = 1
- CALL ZSPSV( '/', 0, 0, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
- CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
- *
- * ZSPSVX
- *
- SRNAMT = 'ZSPSVX'
- INFOT = 1
- CALL ZSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
- $ R2, W, RW, INFO )
- CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
- END IF
- *
- * Print a summary line.
- *
- IF( OK ) THEN
- WRITE( NOUT, FMT = 9999 )PATH
- ELSE
- WRITE( NOUT, FMT = 9998 )PATH
- END IF
- *
- 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
- 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
- $ 'exits ***' )
- *
- RETURN
- *
- * End of ZERRVX
- *
- END
|