|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062 |
- *> \brief \b ZERRGG
- *
- * =========== DOCUMENTATION ===========
- *
- * Online html documentation available at
- * http://www.netlib.org/lapack/explore-html/
- *
- * Definition:
- * ===========
- *
- * SUBROUTINE ZERRGG( PATH, NUNIT )
- *
- * .. Scalar Arguments ..
- * CHARACTER*3 PATH
- * INTEGER NUNIT
- * ..
- *
- *
- *> \par Purpose:
- * =============
- *>
- *> \verbatim
- *>
- *> ZERRGG tests the error exits for ZGGES, ZGGESX, ZGGEV, ZGGEVX,
- *> ZGGGLM, ZGGHRD, ZGGLSE, ZGGQRF, ZGGRQF, ZGGSVD, ZGGSVP, ZHGEQZ,
- *> ZTGEVC, ZTGEXC, ZTGSEN, ZTGSJA, ZTGSNA, ZTGSYL, and ZUNCSD.
- *> \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 2011
- *
- *> \ingroup complex16_eig
- *
- * =====================================================================
- SUBROUTINE ZERRGG( PATH, NUNIT )
- *
- * -- LAPACK test routine (version 3.4.0) --
- * -- LAPACK is a software package provided by Univ. of Tennessee, --
- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
- * November 2011
- *
- * .. Scalar Arguments ..
- CHARACTER*3 PATH
- INTEGER NUNIT
- * ..
- *
- * =====================================================================
- *
- * .. Parameters ..
- INTEGER NMAX, LW
- PARAMETER ( NMAX = 3, LW = 6*NMAX )
- DOUBLE PRECISION ONE, ZERO
- PARAMETER ( ONE = 1.0D+0, ZERO = 0.0D+0 )
- * ..
- * .. Local Scalars ..
- CHARACTER*2 C2
- INTEGER DUMMYK, DUMMYL, I, IFST, IHI, ILO, ILST, INFO,
- $ J, M, NCYCLE, NT, SDIM
- DOUBLE PRECISION ANRM, BNRM, DIF, SCALE, TOLA, TOLB
- * ..
- * .. Local Arrays ..
- LOGICAL BW( NMAX ), SEL( NMAX )
- INTEGER IW( LW )
- DOUBLE PRECISION LS( NMAX ), R1( NMAX ), R2( NMAX ),
- $ RCE( NMAX ), RCV( NMAX ), RS( NMAX ), RW( LW )
- COMPLEX*16 A( NMAX, NMAX ), ALPHA( NMAX ),
- $ B( NMAX, NMAX ), BETA( NMAX ), Q( NMAX, NMAX ),
- $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
- $ W( LW ), Z( NMAX, NMAX )
- * ..
- * .. External Functions ..
- LOGICAL LSAMEN, ZLCTES, ZLCTSX
- EXTERNAL LSAMEN, ZLCTES, ZLCTSX
- * ..
- * .. External Subroutines ..
- EXTERNAL CHKXER, ZGGES, ZGGESX, ZGGEV, ZGGEVX, ZGGGLM,
- $ ZGGHRD, ZGGLSE, ZGGQRF, ZGGRQF, ZGGSVD, ZGGSVP,
- $ ZHGEQZ, ZTGEVC, ZTGEXC, ZTGSEN, ZTGSJA, ZTGSNA,
- $ ZTGSYL, ZUNCSD
- * ..
- * .. Scalars in Common ..
- LOGICAL LERR, OK
- CHARACTER*32 SRNAMT
- INTEGER INFOT, NOUT
- * ..
- * .. Common blocks ..
- COMMON / INFOC / INFOT, NOUT, OK, LERR
- COMMON / SRNAMC / SRNAMT
- * ..
- * .. Executable Statements ..
- *
- NOUT = NUNIT
- WRITE( NOUT, FMT = * )
- C2 = PATH( 2: 3 )
- *
- * Set the variables to innocuous values.
- *
- DO 20 J = 1, NMAX
- SEL( J ) = .TRUE.
- DO 10 I = 1, NMAX
- A( I, J ) = ZERO
- B( I, J ) = ZERO
- 10 CONTINUE
- 20 CONTINUE
- DO 30 I = 1, NMAX
- A( I, I ) = ONE
- B( I, I ) = ONE
- 30 CONTINUE
- OK = .TRUE.
- TOLA = 1.0D0
- TOLB = 1.0D0
- IFST = 1
- ILST = 1
- NT = 0
- *
- * Test error exits for the GG path.
- *
- IF( LSAMEN( 2, C2, 'GG' ) ) THEN
- *
- * ZGGHRD
- *
- SRNAMT = 'ZGGHRD'
- INFOT = 1
- CALL ZGGHRD( '/', 'N', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGHRD( 'N', '/', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGHRD( 'N', 'N', -1, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGGHRD( 'N', 'N', 0, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGHRD( 'N', 'N', 0, 1, 1, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGGHRD( 'N', 'N', 2, 1, 1, A, 1, B, 2, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZGGHRD( 'N', 'N', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZGGHRD( 'V', 'N', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZGGHRD( 'N', 'V', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'ZGGHRD', INFOT, NOUT, LERR, OK )
- NT = NT + 9
- *
- * ZHGEQZ
- *
- SRNAMT = 'ZHGEQZ'
- INFOT = 1
- CALL ZHGEQZ( '/', 'N', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZHGEQZ( 'E', '/', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZHGEQZ( 'E', 'N', '/', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZHGEQZ( 'E', 'N', 'N', -1, 0, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZHGEQZ( 'E', 'N', 'N', 0, 0, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZHGEQZ( 'E', 'N', 'N', 0, 1, 1, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 1, B, 2, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 2, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL ZHGEQZ( 'E', 'V', 'N', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZHGEQZ( 'E', 'N', 'V', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'ZHGEQZ', INFOT, NOUT, LERR, OK )
- NT = NT + 10
- *
- * ZTGEVC
- *
- SRNAMT = 'ZTGEVC'
- INFOT = 1
- CALL ZTGEVC( '/', 'A', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZTGEVC( 'R', '/', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZTGEVC( 'R', 'A', SEL, -1, A, 1, B, 1, Q, 1, Z, 1, 0, M,
- $ W, RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZTGEVC( 'R', 'A', SEL, 2, A, 1, B, 2, Q, 1, Z, 2, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZTGEVC( 'R', 'A', SEL, 2, A, 2, B, 1, Q, 1, Z, 2, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZTGEVC( 'L', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 2, 1, M, W,
- $ RW, INFO )
- CALL CHKXER( 'ZTGEVC', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the GSV path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'GSV' ) ) THEN
- *
- * ZGGSVD
- *
- SRNAMT = 'ZGGSVD'
- INFOT = 1
- CALL ZGGSVD( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGSVD( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGSVD( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGGSVD( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGSVD( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZGGSVD( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZGGSVD( 'N', 'N', 'N', 2, 1, 1, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZGGSVD( 'N', 'N', 'N', 1, 1, 2, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZGGSVD( 'U', 'N', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
- $ 2, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZGGSVD( 'N', 'V', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
- $ 2, R1, R2, U, 2, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL ZGGSVD( 'N', 'N', 'Q', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
- $ 2, R1, R2, U, 2, V, 2, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'ZGGSVD', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * ZGGSVP
- *
- SRNAMT = 'ZGGSVP'
- INFOT = 1
- CALL ZGGSVP( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGSVP( 'N', '/', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGSVP( 'N', 'N', '/', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGGSVP( 'N', 'N', 'N', -1, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGSVP( 'N', 'N', 'N', 0, -1, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZGGSVP( 'N', 'N', 'N', 0, 0, -1, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZGGSVP( 'N', 'N', 'N', 2, 1, 1, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZGGSVP( 'N', 'N', 'N', 1, 2, 1, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZGGSVP( 'U', 'N', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZGGSVP( 'N', 'V', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 2, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL ZGGSVP( 'N', 'N', 'Q', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 2, V, 2, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'ZGGSVP', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * ZTGSJA
- *
- SRNAMT = 'ZTGSJA'
- INFOT = 1
- CALL ZTGSJA( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZTGSJA( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZTGSJA( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZTGSJA( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZTGSJA( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZTGSJA( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 0, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 0, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZTGSJA( 'U', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 0, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL ZTGSJA( 'N', 'V', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 0, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 22
- CALL ZTGSJA( 'N', 'N', 'Q', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 0, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'ZTGSJA', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * Test error exits for the GLM path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'GLM' ) ) THEN
- *
- * ZGGGLM
- *
- SRNAMT = 'ZGGGLM'
- INFOT = 1
- CALL ZGGGLM( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGGLM( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGGLM( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGGLM( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGGLM( 1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGGLM( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGGGLM( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZGGGLM( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
- $ INFO )
- CALL CHKXER( 'ZGGGLM', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the LSE path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'LSE' ) ) THEN
- *
- * ZGGLSE
- *
- SRNAMT = 'ZGGLSE'
- INFOT = 1
- CALL ZGGLSE( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGLSE( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGLSE( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGLSE( 0, 0, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGLSE( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGLSE( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGGLSE( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZGGLSE( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
- $ INFO )
- CALL CHKXER( 'ZGGLSE', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the CSD path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'CSD' ) ) THEN
- *
- * ZUNCSD
- *
- SRNAMT = 'ZUNCSD'
- INFOT = 7
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ -1, 0, 0, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, -1, 0, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, -1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, -1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, -1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 22
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, -1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 24
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, -1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 26
- CALL ZUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ -1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'ZUNCSD', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the GQR path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'GQR' ) ) THEN
- *
- * ZGGQRF
- *
- SRNAMT = 'ZGGQRF'
- INFOT = 1
- CALL ZGGQRF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGQRF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGQRF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGQRF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZGGQRF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZGGQRF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
- CALL CHKXER( 'ZGGQRF', INFOT, NOUT, LERR, OK )
- NT = NT + 6
- *
- * ZGGRQF
- *
- SRNAMT = 'ZGGRQF'
- INFOT = 1
- CALL ZGGRQF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGRQF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGRQF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGRQF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZGGRQF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
- CALL CHKXER( 'ZGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZGGRQF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
- CALL CHKXER( 'ZGGRQF', INFOT, NOUT, LERR, OK )
- NT = NT + 6
- *
- * Test error exits for the ZGS, ZGV, ZGX, and ZXV paths.
- *
- ELSE IF( LSAMEN( 3, PATH, 'ZGS' ) .OR.
- $ LSAMEN( 3, PATH, 'ZGV' ) .OR.
- $ LSAMEN( 3, PATH, 'ZGX' ) .OR. LSAMEN( 3, PATH, 'ZXV' ) )
- $ THEN
- *
- * ZGGES
- *
- SRNAMT = 'ZGGES '
- INFOT = 1
- CALL ZGGES( '/', 'N', 'S', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGES( 'N', '/', 'S', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGES( 'N', 'V', '/', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGES( 'N', 'V', 'S', ZLCTES, -1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGGES( 'N', 'V', 'S', ZLCTES, 1, A, 0, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZGGES( 'N', 'V', 'S', ZLCTES, 1, A, 1, B, 0, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL ZGGES( 'N', 'V', 'S', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 0, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL ZGGES( 'V', 'V', 'S', ZLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
- $ BETA, Q, 1, U, 2, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZGGES( 'N', 'V', 'S', ZLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 0, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZGGES( 'V', 'V', 'S', ZLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
- $ BETA, Q, 2, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZGGES( 'V', 'V', 'S', ZLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
- $ BETA, Q, 2, U, 2, W, 1, RW, BW, INFO )
- CALL CHKXER( 'ZGGES ', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * ZGGESX
- *
- SRNAMT = 'ZGGESX'
- INFOT = 1
- CALL ZGGESX( '/', 'N', 'S', ZLCTSX, 'N', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGESX( 'N', '/', 'S', ZLCTSX, 'N', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGESX( 'V', 'V', '/', ZLCTSX, 'N', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, '/', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', -1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', 1, A, 0, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', 1, A, 1, B, 0, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 0, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', 2, A, 2, B, 2, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 17
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 0, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 17
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', 2, A, 2, B, 2, SDIM,
- $ ALPHA, BETA, Q, 2, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 21
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'B', 2, A, 2, B, 2, SDIM,
- $ ALPHA, BETA, Q, 2, U, 2, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 24
- CALL ZGGESX( 'V', 'V', 'S', ZLCTSX, 'V', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 32, RW, IW,
- $ 0, BW, INFO )
- CALL CHKXER( 'ZGGESX', INFOT, NOUT, LERR, OK )
- NT = NT + 13
- *
- * ZGGEV
- *
- SRNAMT = 'ZGGEV '
- INFOT = 1
- CALL ZGGEV( '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGEV( 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGEV( 'V', 'V', -1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGEV( 'V', 'V', 1, A, 0, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGGEV( 'V', 'V', 1, A, 1, B, 0, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZGGEV( 'N', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 0, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 1, U, 2,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZGGEV( 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 0,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZGGEV( 'V', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'ZGGEV ', INFOT, NOUT, LERR, OK )
- NT = NT + 10
- *
- * ZGGEVX
- *
- SRNAMT = 'ZGGEVX'
- INFOT = 1
- CALL ZGGEVX( '/', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZGGEVX( 'N', '/', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZGGEVX( 'N', 'N', '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZGGEVX( 'N', 'N', 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZGGEVX( 'N', 'N', 'N', 'N', -1, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE,
- $ RCV, W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZGGEVX( 'N', 'N', 'N', 'N', 1, A, 0, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 0, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 0, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZGGEVX( 'N', 'V', 'N', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
- $ 1, U, 2, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 0, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
- $ 2, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 25
- CALL ZGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
- $ 2, U, 2, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 0, RW, IW, BW, INFO )
- CALL CHKXER( 'ZGGEVX', INFOT, NOUT, LERR, OK )
- NT = NT + 12
- *
- * ZTGEXC
- *
- SRNAMT = 'ZTGEXC'
- INFOT = 3
- CALL ZTGEXC( .TRUE., .TRUE., -1, A, 1, B, 1, Q, 1, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'ZTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZTGEXC( .TRUE., .TRUE., 1, A, 0, B, 1, Q, 1, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'ZTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZTGEXC( .TRUE., .TRUE., 1, A, 1, B, 0, Q, 1, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'ZTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZTGEXC( .FALSE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'ZTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'ZTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZTGEXC( .TRUE., .FALSE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'ZTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL ZTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'ZTGEXC', INFOT, NOUT, LERR, OK )
- NT = NT + 7
- *
- * ZTGSEN
- *
- SRNAMT = 'ZTGSEN'
- INFOT = 1
- CALL ZTGSEN( -1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL ZTGSEN( 1, .TRUE., .TRUE., SEL, -1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL ZTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 0, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL ZTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 0, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL ZTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 0, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 0, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 21
- CALL ZTGSEN( 3, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, -5, IW,
- $ 1, INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 23
- CALL ZTGSEN( 0, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
- $ 0, INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 23
- CALL ZTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
- $ 0, INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 23
- CALL ZTGSEN( 5, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
- $ 1, INFO )
- CALL CHKXER( 'ZTGSEN', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * ZTGSNA
- *
- SRNAMT = 'ZTGSNA'
- INFOT = 1
- CALL ZTGSNA( '/', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZTGSNA( 'B', '/', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZTGSNA( 'B', 'A', SEL, -1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZTGSNA( 'B', 'A', SEL, 1, A, 0, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZTGSNA( 'B', 'A', SEL, 1, A, 1, B, 0, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 0, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 0, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL ZTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 0, M, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL ZTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 0, IW, INFO )
- CALL CHKXER( 'ZTGSNA', INFOT, NOUT, LERR, OK )
- NT = NT + 9
- *
- * ZTGSYL
- *
- SRNAMT = 'ZTGSYL'
- INFOT = 1
- CALL ZTGSYL( '/', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL ZTGSYL( 'N', -1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL ZTGSYL( 'N', 0, 0, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL ZTGSYL( 'N', 0, 1, 0, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL ZTGSYL( 'N', 0, 1, 1, A, 0, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL ZTGSYL( 'N', 0, 1, 1, A, 1, B, 0, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL ZTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 0, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL ZTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 0, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL ZTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 0, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL ZTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 0,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL ZTGSYL( 'N', 1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL ZTGSYL( 'N', 2, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'ZTGSYL', INFOT, NOUT, LERR, OK )
- NT = NT + 12
- END IF
- *
- * Print a summary line.
- *
- IF( OK ) THEN
- WRITE( NOUT, FMT = 9999 )PATH, NT
- ELSE
- WRITE( NOUT, FMT = 9998 )PATH
- END IF
- *
- 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits (',
- $ I3, ' tests done)' )
- 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
- $ 'exits ***' )
- *
- RETURN
- *
- * End of ZERRGG
- *
- END
|