|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057 |
- *> \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
|