372 SUBROUTINE cdrvsg2stg( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH,
373 $ NOUNIT, A, LDA, B, LDB, D, D2, Z, LDZ, AB,
374 $ BB, AP, BP, WORK, NWORK, RWORK, LRWORK,
375 $ IWORK, LIWORK, RESULT, INFO )
384 INTEGER INFO, LDA, LDB, LDZ, LIWORK, LRWORK, NOUNIT
390 INTEGER ISEED( 4 ), IWORK( * ), NN( * )
391 REAL D( * ), D2( * ), RESULT( * ), RWORK( * )
392 COMPLEX A( LDA, * ), AB( LDA, * ), AP( * ),
393 $ b( ldb, * ), bb( ldb, * ), bp( * ), work( * ),
401 PARAMETER ( ZERO = 0.0e+0, one = 1.0e+0, ten = 10.0e+0 )
403 PARAMETER ( czero = ( 0.0e+0, 0.0e+0 ),
404 $ cone = ( 1.0e+0, 0.0e+0 ) )
406 parameter( maxtyp = 21 )
411 INTEGER I, , IBUPLO, IINFO, IJ, , IMODE, ITEMP,
412 $ itype, iu, j, jcol, jsize, jtype, ka, ka9, kb,
413 $ kb9, m, mtypes, n, nerrs, nmats, nmax, ntest,
415 REAL ABSTOL, ANINV, ANORM, , OVFL, RTOVFL,
416 $ RTUNFL, ULP, ULPINV, UNFL, VL, VU, TEMP1, TEMP2
419 INTEGER IDUMMA( 1 ), IOLDSD( 4 ), ISEED2( 4 ),
420 $ KMAGN( MAXTYP ), KMODE( MAXTYP ),
426 EXTERNAL LSAME, SLAMCH, SLARND
435 INTRINSIC abs, real,
max,
min, sqrt
438 DATA ktype / 1, 2, 5*4, 5*5, 3*8, 6*9 /
439 DATA kmagn / 2*1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 3, 1,
441 DATA kmode / 2*0, 4, 3, 1, 4, 4, 4, 3, 1, 4, 4, 0,
454 nmax =
max( nmax, nn( j ) )
461 IF( nsizes.LT.0 )
THEN
463 ELSE IF( badnn )
THEN
465 ELSE IF( ntypes.LT.0 )
THEN
467 ELSE IF( lda.LE.1 .OR. lda.LT.nmax )
THEN
469 ELSE IF( ldz.LE.1 .OR. ldz.LT.nmax )
THEN
471 ELSE IF( 2*
max( nmax, 2 )**2.GT.nwork )
THEN
473 ELSE IF( 2*
max( nmax, 2 )**2.GT.lrwork )
THEN
475 ELSE IF( 2*
max( nmax, 2 )**2.GT.liwork )
THEN
480 CALL xerbla(
'CDRVSG2STG', -info )
486 IF( nsizes.EQ.0 .OR. ntypes.EQ.0 )
491 unfl = slamch(
'Safe minimum' )
492 ovfl = slamch(
'Overflow' )
494 ulp = slamch(
'Epsilon' )*slamch(
'Base' )
496 rtunfl = sqrt( unfl )
497 rtovfl = sqrt( ovfl )
500 iseed2( i ) = iseed( i )
508 DO 650 jsize = 1, nsizes
510 aninv = one / real(
max( 1, n ) )
512 IF( nsizes.NE.1 )
THEN
513 mtypes =
min( maxtyp, ntypes )
515 mtypes =
min( maxtyp+1, ntypes )
520 DO 640 jtype = 1, mtypes
521 IF( .NOT.dotype( jtype ) )
527 ioldsd( j ) = iseed( j )
545 IF( mtypes.GT.maxtyp )
548 itype = ktype( jtype )
549 imode = kmode( jtype )
553 GO TO ( 40, 50, 60 )kmagn( jtype )
560 anorm = ( rtovfl*ulp )*aninv
564 anorm = rtunfl*n*ulpinv
574 IF( itype.EQ.1 )
THEN
580 CALL claset(
'Full', lda, n, czero, czero, a, lda )
582 ELSE IF( itype.EQ.2 )
THEN
588 CALL claset(
'Full', lda, n, czero, czero, a, lda
590 a( jcol, jcol ) = anorm
593 ELSE IF( itype.EQ.4 )
THEN
599 CALL clatms( n, n,
'S', iseed,
'H', rwork, imode, cond,
600 $ anorm, 0, 0,
'N', a, lda, work, iinfo )
602 ELSE IF( itype.EQ.5 )
THEN
608 CALL clatms( n, n,
'S', iseed, 'h
', RWORK, IMODE, COND,
609 $ ANORM, N, N, 'n
', A, LDA, WORK, IINFO )
611.EQ.
ELSE IF( ITYPE7 ) THEN
617 CALL CLATMR( N, N, 's
', ISEED, 'h
', WORK, 6, ONE, CONE,
618 $ 't
', 'n
', WORK( N+1 ), 1, ONE,
619 $ WORK( 2*N+1 ), 1, ONE, 'n', idumma, 0, 0,
620 $ zero, anorm,
'NO', a, lda, iwork, iinfo )
622 ELSE IF( itype.EQ.8 )
THEN
628 CALL clatmr( n, n, 's
', ISEED, 'h
', WORK, 6, ONE, CONE,
629 $ 't
', 'n
', WORK( N+1 ), 1, ONE,
630 $ WORK( 2*N+1 ), 1, ONE, 'n
', IDUMMA, N, N,
631 $ ZERO, ANORM, 'no
', A, LDA, IWORK, IINFO )
633.EQ.
ELSE IF( ITYPE9 ) THEN
647.GT.
IF( KB9KA9 ) THEN
651 KA = MAX( 0, MIN( N-1, KA9 ) )
652 KB = MAX( 0, MIN( N-1, KB9 ) )
653 CALL CLATMS( N, N, 's
', ISEED, 'h
', RWORK, IMODE, COND,
654 $ ANORM, KA, KA, 'n
', A, LDA, WORK, IINFO )
661.NE.
IF( IINFO0 ) THEN
662 WRITE( NOUNIT, FMT = 9999 )'generator
', IINFO, N, JTYPE,
675 IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) )
676 IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) )
705 CALL CLATMS( N, N, 'u
', ISEED, 'p
', RWORK, 5, TEN,
706 $ ONE, KB, KB, UPLO, B, LDB, WORK( N+1 ),
713 CALL CLACPY( ' ', n, n, a, lda, z, ldz )
714 CALL clacpy( uplo, n, n, b, ldb, bb, ldb )
716 CALL chegv( ibtype,
'V', uplo, n, z, ldz, bb, ldb, d,
717 $ work, nwork, rwork, iinfo )
718 IF( iinfo.NE.0 )
THEN
719 WRITE( nounit, fmt = 9999 )
'CHEGV(V,' // uplo //
720 $
')', iinfo, n, jtype, ioldsd
722 IF( iinfo.LT.0 )
THEN
725 result( ntest ) = ulpinv
732 CALL csgt01( ibtype, uplo, n, n, a, lda, b, ldb, z,
733 $ ldz, d, work, rwork, result( ntest ) )
739 CALL clacpy(
' ', n, n, a, lda, z, ldz )
740 CALL clacpy( uplo, n, n, b, ldb, bb, ldb )
743 $ bb, ldb, d2, work, nwork, rwork,
745 IF( iinfo.NE.0 )
THEN
746 WRITE( nounit, fmt = 9999 )
747 $
'CHEGV_2STAGE(V,' // uplo //
748 $
')', iinfo, n, jtype, ioldsd
750 IF( iinfo.LT.0 )
THEN
753 result( ntest ) = ulpinv
770 temp1 =
max( temp1, abs( d( j ) ),
772 temp2 =
max( temp2, abs( d( j )-d2( j ) ) )
775 result( ntest ) = temp2 /
776 $
max( unfl, ulp*
max( temp1, temp2 ) )
783 CALL clacpy( uplo, n, n, b, ldb, bb, ldb )
785 CALL chegvd( ibtype,
'V', uplo, n, z, ldz, bb, ldb, d,
786 $ work, nwork, rwork, lrwork, iwork,
788 IF( iinfo.NE.0 )
THEN
789 WRITE( nounit, fmt = 9999 )'
chegvd(v,
' // UPLO //
790 $ ')
', IINFO, N, JTYPE, IOLDSD
792.LT.
IF( IINFO0 ) THEN
795 RESULT( NTEST ) = ULPINV
802 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
803 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
809 CALL CLACPY( ' ', N, N, A, LDA, AB, LDA )
810 CALL CLACPY( UPLO, N, N, B, LDB, BB, LDB )
812 CALL CHEGVX( IBTYPE, 'v
', 'a
', UPLO, N, AB, LDA, BB,
813 $ LDB, VL, VU, IL, IU, ABSTOL, M, D, Z,
814 $ LDZ, WORK, NWORK, RWORK, IWORK( N+1 ),
816.NE.
IF( IINFO0 ) THEN
817 WRITE( NOUNIT, FMT = 9999 )'chegvx(v,a
' // UPLO //
818 $ ')
', IINFO, N, JTYPE, IOLDSD
820.LT.
IF( IINFO0 ) THEN
823 RESULT( NTEST ) = ULPINV
830 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
831 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
835 CALL CLACPY( ' ', N, N, A, LDA, AB, LDA )
836 CALL CLACPY( UPLO, N, N, B, LDB, BB, LDB )
845 CALL CHEGVX( IBTYPE, 'v
', 'v
', UPLO, N, AB, LDA, BB,
846 $ LDB, VL, VU, IL, IU, ABSTOL, M, D, Z,
847 $ LDZ, WORK, NWORK, RWORK, IWORK( N+1 ),
849.NE.
IF( IINFO0 ) THEN
850 WRITE( NOUNIT, FMT = 9999 )'chegvx(v,v,
' //
851 $ UPLO // ')
', IINFO, N, JTYPE, IOLDSD
853.LT.
IF( IINFO0 ) THEN
856 RESULT( NTEST ) = ULPINV
863 CALL CSGT01( IBTYPE, UPLO, N, M, A, LDA, B, LDB, Z,
864 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
868 CALL CLACPY( ' ', N, N, A, LDA, AB, LDA )
869 CALL CLACPY( UPLO, N, N, B, LDB, BB, LDB )
871 CALL CHEGVX( IBTYPE, 'v
', 'i
', UPLO, N, AB, LDA, BB,
872 $ LDB, VL, VU, IL, IU, ABSTOL, M, D, Z,
873 $ LDZ, WORK, NWORK, RWORK, IWORK( N+1 ),
875.NE.
IF( IINFO0 ) THEN
876 WRITE( NOUNIT, FMT = 9999 )'chegvx(v,i,
' //
877 $ UPLO // ')
', IINFO, N, JTYPE, IOLDSD
879.LT.
IF( IINFO0 ) THEN
882 RESULT( NTEST ) = ULPINV
889 CALL CSGT01( IBTYPE, UPLO, N, M, A, LDA, B, LDB, Z,
890 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
900 IF( LSAME( UPLO, 'u
' ) ) THEN
920 CALL CHPGV( IBTYPE, 'v
', UPLO, N, AP, BP, D, Z, LDZ,
921 $ WORK, RWORK, IINFO )
922.NE.
IF( IINFO0 ) THEN
923 WRITE( NOUNIT, FMT = 9999 )'chpgv(v,
' // UPLO //
924 $ ')
', IINFO, N, JTYPE, IOLDSD
926.LT.
IF( IINFO0 ) THEN
929 RESULT( NTEST ) = ULPINV
936 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
937 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
945 IF( LSAME( UPLO, 'u
' ) ) THEN
965 CALL CHPGVD( IBTYPE, 'v
', UPLO, N, AP, BP, D, Z, LDZ,
966 $ WORK, NWORK, RWORK, LRWORK, IWORK,
968.NE.
IF( IINFO0 ) THEN
969 WRITE( NOUNIT, FMT = 9999 )'chpgvd(v,
' // UPLO //
970 $ ')
', IINFO, N, JTYPE, IOLDSD
972.LT.
IF( IINFO0 ) THEN
975 RESULT( NTEST ) = ULPINV
982 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
983 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
991 IF( LSAME( UPLO, 'u
' ) ) THEN
1004 AP( IJ ) = A( I, J )
1005 BP( IJ ) = B( I, J )
1011 CALL CHPGVX( IBTYPE, 'v
', 'a
', UPLO, N, AP, BP, VL,
1012 $ VU, IL, IU, ABSTOL, M, D, Z, LDZ, WORK,
1013 $ RWORK, IWORK( N+1 ), IWORK, INFO )
1014.NE.
IF( IINFO0 ) THEN
1015 WRITE( NOUNIT, FMT = 9999 )'chpgvx(v,a
' // UPLO //
1016 $ ')
', IINFO, N, JTYPE, IOLDSD
1018.LT.
IF( IINFO0 ) THEN
1021 RESULT( NTEST ) = ULPINV
1028 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
1029 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1035 IF( LSAME( UPLO, 'u
' ) ) THEN
1039 AP( IJ ) = A( I, J )
1040 BP( IJ ) = B( I, J )
1048 AP( IJ ) = A( I, J )
1049 BP( IJ ) = B( I, J )
1057 CALL CHPGVX( IBTYPE, 'v
', 'v
', UPLO, N, AP, BP, VL,
1058 $ VU, IL, IU, ABSTOL, M, D, Z, LDZ, WORK,
1059 $ RWORK, IWORK( N+1 ), IWORK, INFO )
1060.NE.
IF( IINFO0 ) THEN
1061 WRITE( NOUNIT, FMT = 9999 )'chpgvx(v,v
' // UPLO //
1062 $ ')
', IINFO, N, JTYPE, IOLDSD
1064.LT.
IF( IINFO0 ) THEN
1067 RESULT( NTEST ) = ULPINV
1074 CALL CSGT01( IBTYPE, UPLO, N, M, A, LDA, B, LDB, Z,
1075 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1081 IF( LSAME( UPLO, 'u
' ) ) THEN
1085 AP( IJ ) = A( I, J )
1086 BP( IJ ) = B( I, J )
1094 AP( IJ ) = A( I, J )
1095 BP( IJ ) = B( I, J )
1101 CALL CHPGVX( IBTYPE, 'v
', 'i
', UPLO, N, AP, BP, VL,
1102 $ VU, IL, IU, ABSTOL, M, D, Z, LDZ, WORK,
1103 $ RWORK, IWORK( N+1 ), IWORK, INFO )
1104.NE.
IF( IINFO0 ) THEN
1105 WRITE( NOUNIT, FMT = 9999 )'chpgvx(v,i
' // UPLO //
1106 $ ')
', IINFO, N, JTYPE, IOLDSD
1108.LT.
IF( IINFO0 ) THEN
1111 RESULT( NTEST ) = ULPINV
1118 CALL CSGT01( IBTYPE, UPLO, N, M, A, LDA, B, LDB, Z,
1119 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1123.EQ.
IF( IBTYPE1 ) THEN
1131 IF( LSAME( UPLO, 'u
' ) ) THEN
1133 DO 320 I = MAX( 1, J-KA ), J
1134 AB( KA+1+I-J, J ) = A( I, J )
1136 DO 330 I = MAX( 1, J-KB ), J
1137 BB( KB+1+I-J, J ) = B( I, J )
1142 DO 350 I = J, MIN( N, J+KA )
1143 AB( 1+I-J, J ) = A( I, J )
1145 DO 360 I = J, MIN( N, J+KB )
1146 BB( 1+I-J, J ) = B( I, J )
1151 CALL CHBGV( 'v
', UPLO, N, KA, KB, AB, LDA, BB, LDB,
1152 $ D, Z, LDZ, WORK, RWORK, IINFO )
1153.NE.
IF( IINFO0 ) THEN
1154 WRITE( NOUNIT, FMT = 9999 )'chbgv(v,
' //
1155 $ UPLO // ')
', IINFO, N, JTYPE, IOLDSD
1157.LT.
IF( IINFO0 ) THEN
1160 RESULT( NTEST ) = ULPINV
1167 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
1168 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1176 IF( LSAME( UPLO, 'u
' ) ) THEN
1178 DO 380 I = MAX( 1, J-KA ), J
1179 AB( KA+1+I-J, J ) = A( I, J )
1181 DO 390 I = MAX( 1, J-KB ), J
1182 BB( KB+1+I-J, J ) = B( I, J )
1187 DO 410 I = J, MIN( N, J+KA )
1188 AB( 1+I-J, J ) = A( I, J )
1190 DO 420 I = J, MIN( N, J+KB )
1191 BB( 1+I-J, J ) = B( I, J )
1196 CALL CHBGVD( 'v
', UPLO, N, KA, KB, AB, LDA, BB,
1197 $ LDB, D, Z, LDZ, WORK, NWORK, RWORK,
1198 $ LRWORK, IWORK, LIWORK, IINFO )
1199.NE.
IF( IINFO0 ) THEN
1200 WRITE( NOUNIT, FMT = 9999 )'chbgvd(v,
' //
1201 $ UPLO // ')
', IINFO, N, JTYPE, IOLDSD
1203.LT.
IF( IINFO0 ) THEN
1206 RESULT( NTEST ) = ULPINV
1213 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
1214 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1222 IF( LSAME( UPLO, 'u
' ) ) THEN
1224 DO 440 I = MAX( 1, J-KA ), J
1225 AB( KA+1+I-J, J ) = A( I, J )
1227 DO 450 I = MAX( 1, J-KB ), J
1228 BB( KB+1+I-J, J ) = B( I, J )
1233 DO 470 I = J, MIN( N, J+KA )
1234 AB( 1+I-J, J ) = A( I, J )
1236 DO 480 I = J, MIN( N, J+KB )
1237 BB( 1+I-J, J ) = B( I, J )
1242 CALL CHBGVX( 'v
', 'a
', UPLO, N, KA, KB, AB, LDA,
1243 $ BB, LDB, BP, MAX( 1, N ), VL, VU, IL,
1244 $ IU, ABSTOL, M, D, Z, LDZ, WORK, RWORK,
1245 $ IWORK( N+1 ), IWORK, IINFO )
1246.NE.
IF( IINFO0 ) THEN
1247 WRITE( NOUNIT, FMT = 9999 )'chbgvx(v,a
' //
1248 $ UPLO // ')
', IINFO, N, JTYPE, IOLDSD
1250.LT.
IF( IINFO0 ) THEN
1253 RESULT( NTEST ) = ULPINV
1260 CALL CSGT01( IBTYPE, UPLO, N, N, A, LDA, B, LDB, Z,
1261 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1267 IF( LSAME( UPLO, 'u
' ) ) THEN
1269 DO 500 I = MAX( 1, J-KA ), J
1270 AB( KA+1+I-J, J ) = A( I, J )
1272 DO 510 I = MAX( 1, J-KB ), J
1273 BB( KB+1+I-J, J ) = B( I, J )
1278 DO 530 I = J, MIN( N, J+KA )
1279 AB( 1+I-J, J ) = A( I, J )
1281 DO 540 I = J, MIN( N, J+KB )
1282 BB( 1+I-J, J ) = B( I, J )
1289 CALL CHBGVX( 'v
', 'v
', UPLO, N, KA, KB, AB, LDA,
1290 $ BB, LDB, BP, MAX( 1, N ), VL, VU, IL,
1291 $ IU, ABSTOL, M, D, Z, LDZ, WORK, RWORK,
1292 $ IWORK( N+1 ), IWORK, IINFO )
1293.NE.
IF( IINFO0 ) THEN
1294 WRITE( NOUNIT, FMT = 9999 )'chbgvx(v,v
' //
1295 $ UPLO // ')
', IINFO, N, JTYPE, IOLDSD
1297.LT.
IF( IINFO0 ) THEN
1300 RESULT( NTEST ) = ULPINV
1307 CALL CSGT01( IBTYPE, UPLO, N, M, A, LDA, B, LDB, Z,
1308 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1314 IF( LSAME( UPLO, 'u
' ) ) THEN
1316 DO 560 I = MAX( 1, J-KA ), J
1317 AB( KA+1+I-J, J ) = A( I, J )
1319 DO 570 I = MAX( 1, J-KB ), J
1320 BB( KB+1+I-J, J ) = B( I, J )
1325 DO 590 I = J, MIN( N, J+KA )
1326 AB( 1+I-J, J ) = A( I, J )
1328 DO 600 I = J, MIN( N, J+KB )
1329 BB( 1+I-J, J ) = B( I, J )
1334 CALL CHBGVX( 'v
', 'i
', UPLO, N, KA, KB, AB, LDA,
1335 $ BB, LDB, BP, MAX( 1, N ), VL, VU, IL,
1336 $ IU, ABSTOL, M, D, Z, LDZ, WORK, RWORK,
1337 $ IWORK( N+1 ), IWORK, IINFO )
1338.NE.
IF( IINFO0 ) THEN
1339 WRITE( NOUNIT, FMT = 9999 )'chbgvx' //
1340 $ UPLO // ')
', IINFO, N, JTYPE, IOLDSD
1342.LT.
IF( IINFO0 ) THEN
1345 RESULT( NTEST ) = ULPINV
1352 CALL CSGT01( IBTYPE, UPLO, N, M, A, LDA, B, LDB, Z,
1353 $ LDZ, D, WORK, RWORK, RESULT( NTEST ) )
1362 NTESTT = NTESTT + NTEST
1363 CALL SLAFTS( 'csg
', N, N, JTYPE, NTEST, RESULT, IOLDSD,
1364 $ THRESH, NOUNIT, NERRS )
1370 CALL SLASUM( 'csg
', NOUNIT, NERRS, NTESTT )
1374 9999 FORMAT( ' cdrvsg2stg:
', A, ' returned info=
', I6, '.
', / 9X,
1375 $ 'n=
', I6, ', jtype=
', I6, ', iseed=(
', 3( I5, ',
' ), I5, ')
' )
subroutine slabad(small, large)
SLABAD
subroutine xerbla(srname, info)
XERBLA
subroutine chegv_2stage(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, info)
CHEGV_2STAGE
subroutine chegv(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, info)
CHEGV
subroutine chegvx(itype, jobz, range, uplo, n, a, lda, b, ldb, vl, vu, il, iu, abstol, m, w, z, ldz, work, lwork, rwork, iwork, ifail, info)
CHEGVX
subroutine chegvd(itype, jobz, uplo, n, a, lda, b, ldb, w, work, lwork, rwork, lrwork, iwork, liwork, info)
CHEGVD
subroutine clacpy(uplo, m, n, a, lda, b, ldb)
CLACPY copies all or part of one two-dimensional array to another.
subroutine claset(uplo, m, n, alpha, beta, a, lda)
CLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values.
subroutine chbgvd(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info)
CHBGVD
subroutine chpgvx(itype, jobz, range, uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, ifail, info)
CHPGVX
subroutine chpgvd(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork, rwork, lrwork, iwork, liwork, info)
CHPGVD
subroutine chbgvx(jobz, range, uplo, n, ka, kb, ab, ldab, bb, ldbb, q, ldq, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, ifail, info)
CHBGVX
subroutine chpgv(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, rwork, info)
CHPGV
subroutine chbgv(jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z, ldz, work, rwork, info)
CHBGV
subroutine csgt01(itype, uplo, n, m, a, lda, b, ldb, z, ldz, d, work, rwork, result)
CSGT01
subroutine cdrvsg2stg(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, b, ldb, d, d2, z, ldz, ab, bb, ap, bp, work, nwork, rwork, lrwork, iwork, liwork, result, info)
CDRVSG2STG
subroutine clatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
CLATMS
subroutine clatmr(m, n, dist, iseed, sym, d, mode, cond, dmax, rsign, grade, dl, model, condl, dr, moder, condr, pivtng, ipivot, kl, ku, sparse, anorm, pack, a, lda, iwork, info)
CLATMR
subroutine slafts(type, m, n, imat, ntests, result, iseed, thresh, iounit, ie)
SLAFTS
subroutine slasum(type, iounit, ie, nrun)
SLASUM