|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013 |
- *> \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.
- *
- *> \date November 2017
- *
- *> \ingroup complex16_lin
- *
- * =====================================================================
- SUBROUTINE ZERRVX( PATH, NUNIT )
- *
- * -- LAPACK test routine (version 3.8.0) --
- * -- LAPACK is a software package provided by Univ. of Tennessee, --
- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
- * November 2017
- *
- * .. 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 = 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_AA
- *
- 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 = 8
- CALL ZHESV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, 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 = 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 = 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 )
- *
- 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 = 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 = 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 )
- **
- 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 = 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 = 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
|