1046 parameter ( nmax = 132 )
1048 parameter ( ncmax = 20 )
1050 parameter ( need = 14 )
1052 parameter ( lwork = nmax*( 5*nmax+20 ) )
1054 parameter ( liwork = nmax*( nmax+20 ) )
1056 parameter ( maxin = 20 )
1058 parameter ( maxt = 30 )
1060 parameter ( nin = 5, nout = 6 )
1063 LOGICAL ZBK, ZBL, ZES, ZEV, ZGK, ZGL, ZGS, ZGV, ZGX,
1064 $ zsx, zvx, zxv, csd, fatal, glm, gqr, gsv,
lse,
1065 $ nep, sep, svd, tstchk, tstdif, tstdrv, tsterr,
1068 CHARACTER*3 C3, PATH
1072 INTEGER I, I1, IC, INFO, ITMP, K, LENP, MAXTYP, NEWSD,
1073 $ nk, nn, nparms, nrhs, ntypes,
1074 $ vers_major, vers_minor, vers_patch
1075 DOUBLE PRECISION EPS, S1, S2, THRESH, THRSHN
1078 LOGICAL DOTYPE( maxt ), LOGWRK( nmax )
1079 INTEGER IOLDSD( 4 ), ISEED( 4 ), IWORK( liwork ),
1080 $ kval( maxin ), mval( maxin ), mxbval( maxin ),
1081 $ nbcol( maxin ), nbmin( maxin ), nbval( maxin ),
1082 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
1084 INTEGER INMIN( maxin ), INWIN( maxin ), INIBL( maxin ),
1085 $ ishfts( maxin ), iacc22( maxin )
1086 DOUBLE PRECISION ALPHA( nmax ), BETA( nmax ), DR( nmax, 12 ),
1087 $ result( 500 ), rwork( lwork ), s( nmax*nmax )
1088 COMPLEX*16 A( nmax*nmax, need ), B( nmax*nmax, 5 ),
1089 $ c( ncmax*ncmax, ncmax*ncmax ), dc( nmax, 6 ),
1090 $ taua( nmax ), taub( nmax ), work( lwork ),
1095 DOUBLE PRECISION DLAMCH, DSECND
1096 EXTERNAL lsamen, dlamch, dsecnd
1114 INTEGER INFOT, MAXB, NPROC, NSHIFT, NUNIT, SELDIM,
1118 LOGICAL SELVAL( 20 )
1119 INTEGER IPARMS( 100 )
1120 DOUBLE PRECISION SELWI( 20 ), SELWR( 20 )
1123 COMMON / cenvir / nproc, nshift, maxb
1124 COMMON / infoc / infot, nunit, ok, lerr
1125 COMMON / srnamc / srnamt
1126 COMMON / sslct / selopt, seldim, selval, selwr, selwi
1127 COMMON / claenv / iparms
1130 DATA intstr /
'0123456789' /
1131 DATA ioldsd / 0, 0, 0, 1 /
1149 READ( nin, fmt =
'(A80)', end = 380 )line
1151 nep = lsamen( 3, path,
'NEP' ) .OR. lsamen( 3, path,
'ZHS' )
1152 sep = lsamen( 3, path,
'SEP' ) .OR. lsamen( 3, path,
'ZST' ) .OR.
1153 $ lsamen( 3, path,
'ZSG' ) .OR. lsamen( 3, path,
'SE2' )
1154 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'ZBD' )
1155 zev = lsamen( 3, path,
'ZEV' )
1156 zes = lsamen( 3, path,
'ZES' )
1157 zvx = lsamen( 3, path,
'ZVX' )
1158 zsx = lsamen( 3, path,
'ZSX' )
1159 zgg = lsamen( 3, path,
'ZGG' )
1160 zgs = lsamen( 3, path,
'ZGS' )
1161 zgx = lsamen( 3, path,
'ZGX' )
1162 zgv = lsamen( 3, path,
'ZGV' )
1163 zxv = lsamen( 3, path,
'ZXV' )
1164 zhb = lsamen( 3, path,
'ZHB' )
1165 zbb = lsamen( 3, path,
'ZBB' )
1166 glm = lsamen( 3, path,
'GLM' )
1167 gqr = lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' )
1168 gsv = lsamen( 3, path,
'GSV' )
1169 csd = lsamen( 3, path,
'CSD' )
1170 lse = lsamen( 3, path,
'LSE' )
1171 zbl = lsamen( 3, path,
'ZBL' )
1172 zbk = lsamen( 3, path,
'ZBK' )
1173 zgl = lsamen( 3, path,
'ZGL' )
1174 zgk = lsamen( 3, path,
'ZGK' )
1178 IF( path.EQ.
' ' )
THEN
1181 WRITE( nout, fmt = 9987 )
1183 WRITE( nout, fmt = 9986 )
1185 WRITE( nout, fmt = 9985 )
1187 WRITE( nout, fmt = 9979 )
1189 WRITE( nout, fmt = 9978 )
1191 WRITE( nout, fmt = 9977 )
1193 WRITE( nout, fmt = 9976 )
1195 WRITE( nout, fmt = 9975 )
1197 WRITE( nout, fmt = 9964 )
1199 WRITE( nout, fmt = 9965 )
1201 WRITE( nout, fmt = 9963 )
1203 WRITE( nout, fmt = 9962 )
1205 WRITE( nout, fmt = 9974 )
1207 WRITE( nout, fmt = 9967 )
1209 WRITE( nout, fmt = 9971 )
1211 WRITE( nout, fmt = 9970 )
1213 WRITE( nout, fmt = 9969 )
1215 WRITE( nout, fmt = 9960 )
1217 WRITE( nout, fmt = 9968 )
1242 ELSE IF( lsamen( 3, path,
'ZEC' ) )
THEN
1246 READ( nin, fmt = * )thresh
1250 CALL zchkec( thresh, tsterr, nin, nout )
1253 WRITE( nout, fmt = 9992 )path
1256 CALL ilaver( vers_major, vers_minor, vers_patch )
1257 WRITE( nout, fmt = 9972 ) vers_major, vers_minor, vers_patch
1258 WRITE( nout, fmt = 9984 )
1262 READ( nin, fmt = * )nn
1264 WRITE( nout, fmt = 9989 )
' NN ', nn, 1
1267 ELSE IF( nn.GT.maxin )
THEN
1268 WRITE( nout, fmt = 9988 )
' NN ', nn, maxin
1275 IF( .NOT.( zgx .OR. zxv ) )
THEN
1276 READ( nin, fmt = * )( mval( i ), i = 1, nn )
1283 IF( mval( i ).LT.0 )
THEN
1284 WRITE( nout, fmt = 9989 )vname, mval( i ), 0
1286 ELSE IF( mval( i ).GT.nmax )
THEN
1287 WRITE( nout, fmt = 9988 )vname, mval( i ), nmax
1291 WRITE( nout, fmt = 9983 )
'M: ', ( mval( i ), i = 1, nn )
1296 IF( glm .OR. gqr .OR. gsv .OR. csd .OR.
lse )
THEN
1297 READ( nin, fmt = * )( pval( i ), i = 1, nn )
1299 IF( pval( i ).LT.0 )
THEN
1300 WRITE( nout, fmt = 9989 )
' P ', pval( i ), 0
1302 ELSE IF( pval( i ).GT.nmax )
THEN
1303 WRITE( nout, fmt = 9988 )
' P ', pval( i ), nmax
1307 WRITE( nout, fmt = 9983 )
'P: ', ( pval( i ), i = 1, nn )
1312 IF( svd .OR. zbb .OR. glm .OR. gqr .OR. gsv .OR. csd .OR.
1314 READ( nin, fmt = * )( nval( i ), i = 1, nn )
1316 IF( nval( i ).LT.0 )
THEN
1317 WRITE( nout, fmt = 9989 )
' N ', nval( i ), 0
1319 ELSE IF( nval( i ).GT.nmax )
THEN
1320 WRITE( nout, fmt = 9988 )
' N ', nval( i ), nmax
1326 nval( i ) = mval( i )
1329 IF( .NOT.( zgx .OR. zxv ) )
THEN
1330 WRITE( nout, fmt = 9983 )
'N: ', ( nval( i ), i = 1, nn )
1332 WRITE( nout, fmt = 9983 )
'N: ', nn
1337 IF( zhb .OR. zbb )
THEN
1338 READ( nin, fmt = * )nk
1339 READ( nin, fmt = * )( kval( i ), i = 1, nk )
1341 IF( kval( i ).LT.0 )
THEN
1342 WRITE( nout, fmt = 9989 )
' K ', kval( i ), 0
1344 ELSE IF( kval( i ).GT.nmax )
THEN
1345 WRITE( nout, fmt = 9988 )
' K ', kval( i ), nmax
1349 WRITE( nout, fmt = 9983 )
'K: ', ( kval( i ), i = 1, nk )
1352 IF( zev .OR. zes .OR. zvx .OR. zsx )
THEN
1357 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1358 $ inmin( 1 ), inwin( 1 ), inibl(1), ishfts(1), iacc22(1)
1359 IF( nbval( 1 ).LT.1 )
THEN
1360 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1362 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1363 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1365 ELSE IF( nxval( 1 ).LT.1 )
THEN
1366 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1368 ELSE IF( inmin( 1 ).LT.1 )
THEN
1369 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( 1 ), 1
1371 ELSE IF( inwin( 1 ).LT.1 )
THEN
1372 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( 1 ), 1
1374 ELSE IF( inibl( 1 ).LT.1 )
THEN
1375 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( 1 ), 1
1377 ELSE IF( ishfts( 1 ).LT.1 )
THEN
1378 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( 1 ), 1
1380 ELSE IF( iacc22( 1 ).LT.0 )
THEN
1381 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( 1 ), 0
1384 CALL xlaenv( 1, nbval( 1 ) )
1385 CALL xlaenv( 2, nbmin( 1 ) )
1386 CALL xlaenv( 3, nxval( 1 ) )
1387 CALL xlaenv(12, max( 11, inmin( 1 ) ) )
1388 CALL xlaenv(13, inwin( 1 ) )
1389 CALL xlaenv(14, inibl( 1 ) )
1390 CALL xlaenv(15, ishfts( 1 ) )
1391 CALL xlaenv(16, iacc22( 1 ) )
1392 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1393 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1394 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1395 WRITE( nout, fmt = 9983 )
'INMIN: ', inmin( 1 )
1396 WRITE( nout, fmt = 9983 )
'INWIN: ', inwin( 1 )
1397 WRITE( nout, fmt = 9983 )
'INIBL: ', inibl( 1 )
1398 WRITE( nout, fmt = 9983 )
'ISHFTS: ', ishfts( 1 )
1399 WRITE( nout, fmt = 9983 )
'IACC22: ', iacc22( 1 )
1401 ELSE IF( zgs .OR. zgx .OR. zgv .OR. zxv )
THEN
1406 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1407 $ nsval( 1 ), mxbval( 1 )
1408 IF( nbval( 1 ).LT.1 )
THEN
1409 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1411 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1412 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1414 ELSE IF( nxval( 1 ).LT.1 )
THEN
1415 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1417 ELSE IF( nsval( 1 ).LT.2 )
THEN
1418 WRITE( nout, fmt = 9989 )
' NS ', nsval( 1 ), 2
1420 ELSE IF( mxbval( 1 ).LT.1 )
THEN
1421 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( 1 ), 1
1424 CALL xlaenv( 1, nbval( 1 ) )
1425 CALL xlaenv( 2, nbmin( 1 ) )
1426 CALL xlaenv( 3, nxval( 1 ) )
1427 CALL xlaenv( 4, nsval( 1 ) )
1428 CALL xlaenv( 8, mxbval( 1 ) )
1429 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1430 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1431 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1432 WRITE( nout, fmt = 9983 )
'NS: ', nsval( 1 )
1433 WRITE( nout, fmt = 9983 )
'MAXB: ', mxbval( 1 )
1434 ELSE IF( .NOT.zhb .AND. .NOT.glm .AND. .NOT.gqr .AND. .NOT.
1435 $ gsv .AND. .NOT.csd .AND. .NOT.
lse )
THEN
1440 READ( nin, fmt = * )nparms
1441 IF( nparms.LT.1 )
THEN
1442 WRITE( nout, fmt = 9989 )
'NPARMS', nparms, 1
1445 ELSE IF( nparms.GT.maxin )
THEN
1446 WRITE( nout, fmt = 9988 )
'NPARMS', nparms, maxin
1454 READ( nin, fmt = * )( nbval( i ), i = 1, nparms )
1456 IF( nbval( i ).LT.0 )
THEN
1457 WRITE( nout, fmt = 9989 )
' NB ', nbval( i ), 0
1459 ELSE IF( nbval( i ).GT.nmax )
THEN
1460 WRITE( nout, fmt = 9988 )
' NB ', nbval( i ), nmax
1464 WRITE( nout, fmt = 9983 )
'NB: ',
1465 $ ( nbval( i ), i = 1, nparms )
1470 IF( nep .OR. sep .OR. svd .OR. zgg )
THEN
1471 READ( nin, fmt = * )( nbmin( i ), i = 1, nparms )
1473 IF( nbmin( i ).LT.0 )
THEN
1474 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( i ), 0
1476 ELSE IF( nbmin( i ).GT.nmax )
THEN
1477 WRITE( nout, fmt = 9988 )
'NBMIN ', nbmin( i ), nmax
1481 WRITE( nout, fmt = 9983 )
'NBMIN:',
1482 $ ( nbmin( i ), i = 1, nparms )
1491 IF( nep .OR. sep .OR. svd )
THEN
1492 READ( nin, fmt = * )( nxval( i ), i = 1, nparms )
1493 DO 100 i = 1, nparms
1494 IF( nxval( i ).LT.0 )
THEN
1495 WRITE( nout, fmt = 9989 )
' NX ', nxval( i ), 0
1497 ELSE IF( nxval( i ).GT.nmax )
THEN
1498 WRITE( nout, fmt = 9988 )
' NX ', nxval( i ), nmax
1502 WRITE( nout, fmt = 9983 )
'NX: ',
1503 $ ( nxval( i ), i = 1, nparms )
1505 DO 110 i = 1, nparms
1513 IF( svd .OR. zbb .OR. zgg )
THEN
1514 READ( nin, fmt = * )( nsval( i ), i = 1, nparms )
1515 DO 120 i = 1, nparms
1516 IF( nsval( i ).LT.0 )
THEN
1517 WRITE( nout, fmt = 9989 )
' NS ', nsval( i ), 0
1519 ELSE IF( nsval( i ).GT.nmax )
THEN
1520 WRITE( nout, fmt = 9988 )
' NS ', nsval( i ), nmax
1524 WRITE( nout, fmt = 9983 )
'NS: ',
1525 $ ( nsval( i ), i = 1, nparms )
1527 DO 130 i = 1, nparms
1535 READ( nin, fmt = * )( mxbval( i ), i = 1, nparms )
1536 DO 140 i = 1, nparms
1537 IF( mxbval( i ).LT.0 )
THEN
1538 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( i ), 0
1540 ELSE IF( mxbval( i ).GT.nmax )
THEN
1541 WRITE( nout, fmt = 9988 )
' MAXB ', mxbval( i ), nmax
1545 WRITE( nout, fmt = 9983 )
'MAXB: ',
1546 $ ( mxbval( i ), i = 1, nparms )
1548 DO 150 i = 1, nparms
1556 READ( nin, fmt = * )( inmin( i ), i = 1, nparms )
1557 DO 540 i = 1, nparms
1558 IF( inmin( i ).LT.0 )
THEN
1559 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( i ), 0
1563 WRITE( nout, fmt = 9983 )
'INMIN: ',
1564 $ ( inmin( i ), i = 1, nparms )
1566 DO 550 i = 1, nparms
1574 READ( nin, fmt = * )( inwin( i ), i = 1, nparms )
1575 DO 560 i = 1, nparms
1576 IF( inwin( i ).LT.0 )
THEN
1577 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( i ), 0
1581 WRITE( nout, fmt = 9983 )
'INWIN: ',
1582 $ ( inwin( i ), i = 1, nparms )
1584 DO 570 i = 1, nparms
1592 READ( nin, fmt = * )( inibl( i ), i = 1, nparms )
1593 DO 580 i = 1, nparms
1594 IF( inibl( i ).LT.0 )
THEN
1595 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( i ), 0
1599 WRITE( nout, fmt = 9983 )
'INIBL: ',
1600 $ ( inibl( i ), i = 1, nparms )
1602 DO 590 i = 1, nparms
1610 READ( nin, fmt = * )( ishfts( i ), i = 1, nparms )
1611 DO 600 i = 1, nparms
1612 IF( ishfts( i ).LT.0 )
THEN
1613 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( i ), 0
1617 WRITE( nout, fmt = 9983 )
'ISHFTS: ',
1618 $ ( ishfts( i ), i = 1, nparms )
1620 DO 610 i = 1, nparms
1627 IF( nep .OR. zgg )
THEN
1628 READ( nin, fmt = * )( iacc22( i ), i = 1, nparms )
1629 DO 620 i = 1, nparms
1630 IF( iacc22( i ).LT.0 )
THEN
1631 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( i ), 0
1635 WRITE( nout, fmt = 9983 )
'IACC22: ',
1636 $ ( iacc22( i ), i = 1, nparms )
1638 DO 630 i = 1, nparms
1646 READ( nin, fmt = * )( nbcol( i ), i = 1, nparms )
1647 DO 160 i = 1, nparms
1648 IF( nbcol( i ).LT.0 )
THEN
1649 WRITE( nout, fmt = 9989 )
'NBCOL ', nbcol( i ), 0
1651 ELSE IF( nbcol( i ).GT.nmax )
THEN
1652 WRITE( nout, fmt = 9988 )
'NBCOL ', nbcol( i ), nmax
1656 WRITE( nout, fmt = 9983 )
'NBCOL:',
1657 $ ( nbcol( i ), i = 1, nparms )
1659 DO 170 i = 1, nparms
1667 WRITE( nout, fmt = * )
1668 eps = dlamch(
'Underflow threshold' )
1669 WRITE( nout, fmt = 9981 )
'underflow', eps
1670 eps = dlamch(
'Overflow threshold' )
1671 WRITE( nout, fmt = 9981 )
'overflow ', eps
1672 eps = dlamch(
'Epsilon' )
1673 WRITE( nout, fmt = 9981 )
'precision', eps
1677 READ( nin, fmt = * )thresh
1678 WRITE( nout, fmt = 9982 )thresh
1679 IF( sep .OR. svd .OR. zgg )
THEN
1683 READ( nin, fmt = * )tstchk
1687 READ( nin, fmt = * )tstdrv
1692 READ( nin, fmt = * )tsterr
1696 READ( nin, fmt = * )newsd
1701 $
READ( nin, fmt = * )( ioldsd( i ), i = 1, 4 )
1704 iseed( i ) = ioldsd( i )
1708 WRITE( nout, fmt = 9999 )
1719 IF( .NOT.( zgx .OR. zxv ) )
THEN
1722 READ( nin, fmt =
'(A80)', end = 380 )line
1730 IF( i.GT.lenp )
THEN
1738 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN
1745 IF( c1.EQ.intstr( k: k ) )
THEN
1750 WRITE( nout, fmt = 9991 )i, line
1755 ELSE IF( i1.GT.0 )
THEN
1765 IF( .NOT.( zev .OR. zes .OR. zvx .OR. zsx .OR. zgv .OR.
1766 $ zgs ) .AND. ntypes.LE.0 )
THEN
1767 WRITE( nout, fmt = 9990 )c3
1780 IF( newsd.EQ.0 )
THEN
1782 iseed( k ) = ioldsd( k )
1786 IF( lsamen( 3, c3,
'ZHS' ) .OR. lsamen( 3, c3,
'NEP' ) )
THEN
1799 ntypes = min( maxtyp, ntypes )
1800 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1803 $
CALL zerrhs(
'ZHSEQR', nout )
1804 DO 270 i = 1, nparms
1805 CALL xlaenv( 1, nbval( i ) )
1806 CALL xlaenv( 2, nbmin( i ) )
1807 CALL xlaenv( 3, nxval( i ) )
1808 CALL xlaenv(12, max( 11, inmin( i ) ) )
1809 CALL xlaenv(13, inwin( i ) )
1810 CALL xlaenv(14, inibl( i ) )
1811 CALL xlaenv(15, ishfts( i ) )
1812 CALL xlaenv(16, iacc22( i ) )
1814 IF( newsd.EQ.0 )
THEN
1816 iseed( k ) = ioldsd( k )
1819 WRITE( nout, fmt = 9961 )c3, nbval( i ), nbmin( i ),
1820 $ nxval( i ), max( 11, inmin(i)),
1821 $ inwin( i ), inibl( i ), ishfts( i ), iacc22( i )
1822 CALL zchkhs( nn, nval, maxtyp, dotype, iseed, thresh, nout,
1823 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
1824 $ a( 1, 4 ), a( 1, 5 ), nmax, a( 1, 6 ),
1825 $ a( 1, 7 ), dc( 1, 1 ), dc( 1, 2 ), a( 1, 8 ),
1826 $ a( 1, 9 ), a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
1827 $ dc( 1, 3 ), work, lwork, rwork, iwork, logwrk,
1830 $
WRITE( nout, fmt = 9980 )
'ZCHKHS', info
1833 ELSE IF( lsamen( 3, c3,
'ZST' ) .OR. lsamen( 3, c3,
'SEP' )
1834 $ .OR. lsamen( 3, c3,
'SE2' ) )
THEN
1845 ntypes = min( maxtyp, ntypes )
1846 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1850 $
CALL zerrst(
'ZST', nout )
1851 DO 290 i = 1, nparms
1852 CALL xlaenv( 1, nbval( i ) )
1853 CALL xlaenv( 2, nbmin( i ) )
1854 CALL xlaenv( 3, nxval( i ) )
1856 IF( newsd.EQ.0 )
THEN
1858 iseed( k ) = ioldsd( k )
1861 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1864 IF( lsamen( 3, c3,
'SE2' ) )
THEN
1865 CALL zchkst2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1866 $ nout, a( 1, 1 ), nmax, a( 1, 2 ),
1867 $ dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
1868 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
1869 $ dr( 1, 7 ), dr( 1, 8 ), dr( 1, 9 ),
1870 $ dr( 1, 10 ), dr( 1, 11 ), a( 1, 3 ), nmax,
1871 $ a( 1, 4 ), a( 1, 5 ), dc( 1, 1 ), a( 1, 6 ),
1872 $ work, lwork, rwork, lwork, iwork, liwork,
1875 CALL zchkst( nn, nval, maxtyp, dotype, iseed, thresh,
1876 $ nout, a( 1, 1 ), nmax, a( 1, 2 ),
1877 $ dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
1878 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
1879 $ dr( 1, 7 ), dr( 1, 8 ), dr( 1, 9 ),
1880 $ dr( 1, 10 ), dr( 1, 11 ), a( 1, 3 ), nmax,
1881 $ a( 1, 4 ), a( 1, 5 ), dc( 1, 1 ), a( 1, 6 ),
1882 $ work, lwork, rwork, lwork, iwork, liwork,
1886 $
WRITE( nout, fmt = 9980 )
'ZCHKST', info
1889 IF( lsamen( 3, c3,
'SE2' ) )
THEN
1890 CALL zdrvst2stg( nn, nval, 18, dotype, iseed, thresh,
1891 $ nout, a( 1, 1 ), nmax, dr( 1, 3 ), dr( 1, 4 ),
1892 $ dr( 1, 5 ), dr( 1, 8 ), dr( 1, 9 ),
1893 $ dr( 1, 10 ), a( 1, 2 ), nmax, a( 1, 3 ),
1894 $ dc( 1, 1 ), a( 1, 4 ), work, lwork, rwork,
1895 $ lwork, iwork, liwork, result, info )
1897 CALL zdrvst( nn, nval, 18, dotype, iseed, thresh, nout,
1898 $ a( 1, 1 ), nmax, dr( 1, 3 ), dr( 1, 4 ),
1899 $ dr( 1, 5 ), dr( 1, 8 ), dr( 1, 9 ),
1900 $ dr( 1, 10 ), a( 1, 2 ), nmax, a( 1, 3 ),
1901 $ dc( 1, 1 ), a( 1, 4 ), work, lwork, rwork,
1902 $ lwork, iwork, liwork, result, info )
1905 $
WRITE( nout, fmt = 9980 )
'ZDRVST', info
1909 ELSE IF( lsamen( 3, c3,
'ZSG' ) )
THEN
1920 ntypes = min( maxtyp, ntypes )
1921 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1923 DO 310 i = 1, nparms
1924 CALL xlaenv( 1, nbval( i ) )
1925 CALL xlaenv( 2, nbmin( i ) )
1926 CALL xlaenv( 3, nxval( i ) )
1928 IF( newsd.EQ.0 )
THEN
1930 iseed( k ) = ioldsd( k )
1933 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1942 CALL zdrvsg2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1943 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1944 $ dr( 1, 3 ), dr( 1, 4 ), a( 1, 3 ), nmax,
1945 $ a( 1, 4 ), a( 1, 5 ), a( 1, 6 ),
1946 $ a( 1, 7 ), work, lwork, rwork, lwork,
1947 $ iwork, liwork, result, info )
1949 $
WRITE( nout, fmt = 9980 )
'ZDRVSG', info
1953 ELSE IF( lsamen( 3, c3,
'ZBD' ) .OR. lsamen( 3, c3,
'SVD' ) )
THEN
1965 ntypes = min( maxtyp, ntypes )
1966 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1972 IF( tsterr .AND. tstchk )
1973 $
CALL zerrbd(
'ZBD', nout )
1974 IF( tsterr .AND. tstdrv )
1975 $
CALL zerred(
'ZBD', nout )
1977 DO 330 i = 1, nparms
1979 CALL xlaenv( 1, nbval( i ) )
1980 CALL xlaenv( 2, nbmin( i ) )
1981 CALL xlaenv( 3, nxval( i ) )
1982 IF( newsd.EQ.0 )
THEN
1984 iseed( k ) = ioldsd( k )
1987 WRITE( nout, fmt = 9995 )c3, nbval( i ), nbmin( i ),
1990 CALL zchkbd( nn, mval, nval, maxtyp, dotype, nrhs, iseed,
1991 $ thresh, a( 1, 1 ), nmax, dr( 1, 1 ),
1992 $ dr( 1, 2 ), dr( 1, 3 ), dr( 1, 4 ),
1993 $ a( 1, 2 ), nmax, a( 1, 3 ), a( 1, 4 ),
1994 $ a( 1, 5 ), nmax, a( 1, 6 ), nmax, a( 1, 7 ),
1995 $ a( 1, 8 ), work, lwork, rwork, nout, info )
1997 $
WRITE( nout, fmt = 9980 )
'ZCHKBD', info
2000 $
CALL zdrvbd( nn, mval, nval, maxtyp, dotype, iseed,
2001 $ thresh, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
2002 $ a( 1, 3 ), nmax, a( 1, 4 ), a( 1, 5 ),
2003 $ a( 1, 6 ), dr( 1, 1 ), dr( 1, 2 ),
2004 $ dr( 1, 3 ), work, lwork, rwork, iwork, nout,
2008 ELSE IF( lsamen( 3, c3,
'ZEV' ) )
THEN
2016 ntypes = min( maxtyp, ntypes )
2017 IF( ntypes.LE.0 )
THEN
2018 WRITE( nout, fmt = 9990 )c3
2021 $
CALL zerred( c3, nout )
2022 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2023 CALL zdrvev( nn, nval, ntypes, dotype, iseed, thresh, nout,
2024 $ a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
2025 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
2026 $ a( 1, 5 ), nmax, result, work, lwork, rwork,
2029 $
WRITE( nout, fmt = 9980 )
'ZGEEV', info
2031 WRITE( nout, fmt = 9973 )
2034 ELSE IF( lsamen( 3, c3,
'ZES' ) )
THEN
2042 ntypes = min( maxtyp, ntypes )
2043 IF( ntypes.LE.0 )
THEN
2044 WRITE( nout, fmt = 9990 )c3
2047 $
CALL zerred( c3, nout )
2048 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2049 CALL zdrves( nn, nval, ntypes, dotype, iseed, thresh, nout,
2050 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2051 $ dc( 1, 1 ), dc( 1, 2 ), a( 1, 4 ), nmax,
2052 $ result, work, lwork, rwork, iwork, logwrk,
2055 $
WRITE( nout, fmt = 9980 )
'ZGEES', info
2057 WRITE( nout, fmt = 9973 )
2060 ELSE IF( lsamen( 3, c3,
'ZVX' ) )
THEN
2068 ntypes = min( maxtyp, ntypes )
2069 IF( ntypes.LT.0 )
THEN
2070 WRITE( nout, fmt = 9990 )c3
2073 $
CALL zerred( c3, nout )
2074 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2075 CALL zdrvvx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2076 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
2077 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
2078 $ a( 1, 5 ), nmax, dr( 1, 1 ), dr( 1, 2 ),
2079 $ dr( 1, 3 ), dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
2080 $ dr( 1, 7 ), dr( 1, 8 ), result, work, lwork,
2083 $
WRITE( nout, fmt = 9980 )
'ZGEEVX', info
2085 WRITE( nout, fmt = 9973 )
2088 ELSE IF( lsamen( 3, c3,
'ZSX' ) )
THEN
2096 ntypes = min( maxtyp, ntypes )
2097 IF( ntypes.LT.0 )
THEN
2098 WRITE( nout, fmt = 9990 )c3
2101 $
CALL zerred( c3, nout )
2102 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2103 CALL zdrvsx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2104 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2105 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ), a( 1, 4 ),
2106 $ nmax, a( 1, 5 ), result, work, lwork, rwork,
2109 $
WRITE( nout, fmt = 9980 )
'ZGEESX', info
2111 WRITE( nout, fmt = 9973 )
2114 ELSE IF( lsamen( 3, c3,
'ZGG' ) )
THEN
2128 ntypes = min( maxtyp, ntypes )
2129 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2131 IF( tstchk .AND. tsterr )
2132 $
CALL zerrgg( c3, nout )
2133 DO 350 i = 1, nparms
2134 CALL xlaenv( 1, nbval( i ) )
2135 CALL xlaenv( 2, nbmin( i ) )
2136 CALL xlaenv( 4, nsval( i ) )
2137 CALL xlaenv( 8, mxbval( i ) )
2138 CALL xlaenv( 16, iacc22( i ) )
2139 CALL xlaenv( 5, nbcol( i ) )
2141 IF( newsd.EQ.0 )
THEN
2143 iseed( k ) = ioldsd( k )
2146 WRITE( nout, fmt = 9996 )c3, nbval( i ), nbmin( i ),
2147 $ nsval( i ), mxbval( i ), iacc22( i ), nbcol( i )
2151 CALL zchkgg( nn, nval, maxtyp, dotype, iseed, thresh,
2152 $ tstdif, thrshn, nout, a( 1, 1 ), nmax,
2153 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2154 $ a( 1, 6 ), a( 1, 7 ), a( 1, 8 ), a( 1, 9 ),
2155 $ nmax, a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
2156 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ),
2157 $ dc( 1, 4 ), a( 1, 13 ), a( 1, 14 ), work,
2158 $ lwork, rwork, logwrk, result, info )
2160 $
WRITE( nout, fmt = 9980 )
'ZCHKGG', info
2164 ELSE IF( lsamen( 3, c3,
'ZGS' ) )
THEN
2172 ntypes = min( maxtyp, ntypes )
2173 IF( ntypes.LE.0 )
THEN
2174 WRITE( nout, fmt = 9990 )c3
2177 $
CALL zerrgg( c3, nout )
2178 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2179 CALL zdrges( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2180 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2181 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2182 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2183 $ result, logwrk, info )
2186 $
WRITE( nout, fmt = 9980 )
'ZDRGES', info
2190 CALL zdrges3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2191 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2192 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2193 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2194 $ result, logwrk, info )
2197 $
WRITE( nout, fmt = 9980 )
'ZDRGES3', info
2199 WRITE( nout, fmt = 9973 )
2212 WRITE( nout, fmt = 9990 )c3
2215 $
CALL zerrgg( c3, nout )
2216 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2218 CALL zdrgsx( nn, ncmax, thresh, nin, nout, a( 1, 1 ), nmax,
2219 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2220 $ a( 1, 6 ), dc( 1, 1 ), dc( 1, 2 ), c,
2221 $ ncmax*ncmax, s, work, lwork, rwork, iwork,
2222 $ liwork, logwrk, info )
2224 $
WRITE( nout, fmt = 9980 )
'ZDRGSX', info
2226 WRITE( nout, fmt = 9973 )
2229 ELSE IF( lsamen( 3, c3,
'ZGV' ) )
THEN
2237 ntypes = min( maxtyp, ntypes )
2238 IF( ntypes.LE.0 )
THEN
2239 WRITE( nout, fmt = 9990 )c3
2242 $
CALL zerrgg( c3, nout )
2243 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2244 CALL zdrgev( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2245 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2246 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2247 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2248 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2251 $
WRITE( nout, fmt = 9980 )
'ZDRGEV', info
2256 CALL zdrgev3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2257 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2258 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2259 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2260 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2263 $
WRITE( nout, fmt = 9980 )
'ZDRGEV3', info
2265 WRITE( nout, fmt = 9973 )
2278 WRITE( nout, fmt = 9990 )c3
2281 $
CALL zerrgg( c3, nout )
2282 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2283 CALL zdrgvx( nn, thresh, nin, nout, a( 1, 1 ), nmax,
2284 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), dc( 1, 1 ),
2285 $ dc( 1, 2 ), a( 1, 5 ), a( 1, 6 ), iwork( 1 ),
2286 $ iwork( 2 ), dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
2287 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ), work,
2288 $ lwork, rwork, iwork( 3 ), liwork-2, result,
2292 $
WRITE( nout, fmt = 9980 )
'ZDRGVX', info
2294 WRITE( nout, fmt = 9973 )
2297 ELSE IF( lsamen( 3, c3,
'ZHB' ) )
THEN
2304 ntypes = min( maxtyp, ntypes )
2305 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2307 $
CALL zerrst(
'ZHB', nout )
2312 CALL zchkhb2stg( nn, nval, nk, kval, maxtyp, dotype, iseed,
2313 $ thresh, nout, a( 1, 1 ), nmax, dr( 1, 1 ),
2314 $ dr( 1, 2 ), dr( 1, 3 ), dr( 1, 4 ), dr( 1, 5 ),
2315 $ a( 1, 2 ), nmax, work, lwork, rwork, result,
2318 $
WRITE( nout, fmt = 9980 )
'ZCHKHB', info
2320 ELSE IF( lsamen( 3, c3,
'ZBB' ) )
THEN
2327 ntypes = min( maxtyp, ntypes )
2328 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2329 DO 370 i = 1, nparms
2332 IF( newsd.EQ.0 )
THEN
2334 iseed( k ) = ioldsd( k )
2337 WRITE( nout, fmt = 9966 )c3, nrhs
2338 CALL zchkbb( nn, mval, nval, nk, kval, maxtyp, dotype, nrhs,
2339 $ iseed, thresh, nout, a( 1, 1 ), nmax,
2340 $ a( 1, 2 ), 2*nmax, dr( 1, 1 ), dr( 1, 2 ),
2341 $ a( 1, 4 ), nmax, a( 1, 5 ), nmax, a( 1, 6 ),
2342 $ nmax, a( 1, 7 ), work, lwork, rwork, result,
2345 $
WRITE( nout, fmt = 9980 )
'ZCHKBB', info
2348 ELSE IF( lsamen( 3, c3,
'GLM' ) )
THEN
2356 $
CALL zerrgg(
'GLM', nout )
2357 CALL zckglm( nn, nval, mval, pval, ntypes, iseed, thresh, nmax,
2358 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2359 $ work, dr( 1, 1 ), nin, nout, info )
2361 $
WRITE( nout, fmt = 9980 )
'ZCKGLM', info
2363 ELSE IF( lsamen( 3, c3,
'GQR' ) )
THEN
2371 $
CALL zerrgg(
'GQR', nout )
2372 CALL zckgqr( nn, mval, nn, pval, nn, nval, ntypes, iseed,
2373 $ thresh, nmax, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
2374 $ a( 1, 4 ), taua, b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
2375 $ b( 1, 4 ), b( 1, 5 ), taub, work, dr( 1, 1 ), nin,
2378 $
WRITE( nout, fmt = 9980 )
'ZCKGQR', info
2380 ELSE IF( lsamen( 3, c3,
'GSV' ) )
THEN
2388 $
CALL zerrgg(
'GSV', nout )
2389 CALL zckgsv( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2390 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
2391 $ a( 1, 3 ), b( 1, 3 ), a( 1, 4 ), alpha, beta,
2392 $ b( 1, 4 ), iwork, work, dr( 1, 1 ), nin, nout,
2395 $
WRITE( nout, fmt = 9980 )
'ZCKGSV', info
2397 ELSE IF( lsamen( 3, c3,
'CSD' ) )
THEN
2405 $
CALL zerrgg(
'CSD', nout )
2406 CALL zckcsd( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2407 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), a( 1, 4 ),
2408 $ a( 1, 5 ), a( 1, 6 ), rwork, iwork, work,
2409 $ dr( 1, 1 ), nin, nout, info )
2411 $
WRITE( nout, fmt = 9980 )
'ZCKCSD', info
2413 ELSE IF( lsamen( 3, c3,
'LSE' ) )
THEN
2421 $
CALL zerrgg(
'LSE', nout )
2422 CALL zcklse( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2423 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2424 $ work, dr( 1, 1 ), nin, nout, info )
2426 $
WRITE( nout, fmt = 9980 )
'ZCKLSE', info
2428 WRITE( nout, fmt = * )
2429 WRITE( nout, fmt = * )
2430 WRITE( nout, fmt = 9992 )c3
2432 IF( .NOT.( zgx .OR. zxv ) )
2435 WRITE( nout, fmt = 9994 )
2437 WRITE( nout, fmt = 9993 )s2 - s1
2439 9999
FORMAT( /
' Execution not attempted due to input errors' )
2440 9997
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4 )
2441 9996
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NS =', i4,
2442 $
', MAXB =', i4,
', IACC22 =', i4,
', NBCOL =', i4 )
2443 9995
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2445 9994
FORMAT( / /
' End of tests' )
2446 9993
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
2447 9992
FORMAT( 1x, a3,
': Unrecognized path name' )
2448 9991
FORMAT( / /
' *** Invalid integer value in column ', i2,
2449 $
' of input',
' line:', / a79 )
2450 9990
FORMAT( / / 1x, a3,
' routines were not tested' )
2451 9989
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be >=',
2453 9988
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be <=',
2455 9987
FORMAT(
' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2456 9986
FORMAT(
' Tests of the Hermitian Eigenvalue Problem routines' )
2457 9985
FORMAT(
' Tests of the Singular Value Decomposition routines' )
2458 9984
FORMAT( /
' The following parameter values will be used:' )
2459 9983
FORMAT( 4x, a, 10i6, / 10x, 10i6 )
2460 9982
FORMAT( /
' Routines pass computational tests if test ratio is ',
2461 $
'less than', f8.2, / )
2462 9981
FORMAT(
' Relative machine ', a,
' is taken to be', d16.6 )
2463 9980
FORMAT(
' *** Error code from ', a,
' = ', i4 )
2464 9979
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2465 $ /
' ZGEEV (eigenvalues and eigevectors)' )
2466 9978
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2467 $ /
' ZGEES (Schur form)' )
2468 9977
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2469 $
' Driver', /
' ZGEEVX (eigenvalues, eigenvectors and',
2470 $
' condition numbers)' )
2471 9976
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2472 $
' Driver', /
' ZGEESX (Schur form and condition',
2474 9975
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2475 $
'Problem routines' )
2476 9974
FORMAT(
' Tests of ZHBTRD', /
' (reduction of a Hermitian band ',
2477 $
'matrix to real tridiagonal form)' )
2478 9973
FORMAT( / 1x, 71(
'-' ) )
2479 9972
FORMAT( /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1 )
2480 9971
FORMAT( /
' Tests of the Generalized Linear Regression Model ',
2482 9970
FORMAT( /
' Tests of the Generalized QR and RQ routines' )
2483 9969
FORMAT( /
' Tests of the Generalized Singular Value',
2484 $
' Decomposition routines' )
2485 9968
FORMAT( /
' Tests of the Linear Least Squares routines' )
2486 9967
FORMAT(
' Tests of ZGBBRD', /
' (reduction of a general band ',
2487 $
'matrix to real bidiagonal form)' )
2488 9966
FORMAT( / / 1x, a3,
': NRHS =', i4 )
2489 9965
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2490 $
'Problem Expert Driver ZGGESX' )
2491 9964
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2492 $
'Problem Driver ZGGES' )
2493 9963
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2494 $
'Problem Driver ZGGEV' )
2495 9962
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2496 $
'Problem Expert Driver ZGGEVX' )
2497 9961
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2499 $
', INWIN =', i4,
', INIBL =', i4,
', ISHFTS =', i4,
2501 9960
FORMAT( /
' Tests of the CS Decomposition routines' )
subroutine zdrvsg2stg(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)
ZDRVSG2STG
subroutine zckgsv(NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, U, V, Q, ALPHA, BETA, R, IWORK, WORK, RWORK, NIN, NOUT, INFO)
ZCKGSV
subroutine zdrvsg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, LDB, D, Z, LDZ, AB, BB, AP, BP, WORK, NWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
ZDRVSG
subroutine zdrves(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, HT, W, WT, VS, LDVS, RESULT, WORK, NWORK, RWORK, IWORK, BWORK, INFO)
ZDRVES
subroutine zchkgk(NIN, NOUT)
ZCHKGK
subroutine zdrgvx(NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, ALPHA, BETA, VL, VR, ILO, IHI, LSCALE, RSCALE, S, DTRU, DIF, DIFTRU, WORK, LWORK, RWORK, IWORK, LIWORK, RESULT, BWORK, INFO)
ZDRGVX
subroutine zchkbl(NIN, NOUT)
ZCHKBL
subroutine zckcsd(NM, MVAL, PVAL, QVAL, NMATS, ISEED, THRESH, MMAX, X, XF, U1, U2, V1T, V2T, THETA, IWORK, WORK, RWORK, NIN, NOUT, INFO)
ZCKCSD
subroutine zchkec(THRESH, TSTERR, NIN, NOUT)
ZCHKEC
subroutine zchkgl(NIN, NOUT)
ZCHKGL
subroutine zdrvbd(NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, A, LDA, U, LDU, VT, LDVT, ASAV, USAV, VTSAV, S, SSAV, E, WORK, LWORK, RWORK, IWORK, NOUNIT, INFO)
ZDRVBD
subroutine zchkbk(NIN, NOUT)
ZCHKBK
subroutine zdrgev3(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, QE, LDQE, ALPHA, BETA, ALPHA1, BETA1, WORK, LWORK, RWORK, RESULT, INFO)
ZDRGEV3
subroutine zerrbd(PATH, NUNIT)
ZERRBD
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine zdrvsx(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NIUNIT, NOUNIT, A, LDA, H, HT, W, WT, WTMP, VS, LDVS, VS1, RESULT, WORK, LWORK, RWORK, BWORK, INFO)
ZDRVSX
subroutine xlaenv(ISPEC, NVALUE)
XLAENV
subroutine zchkhb2stg(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, D1, D2, D3, U, LDU, WORK, LWORK, RWORK, RESULT, INFO)
ZCHKHBSTG
subroutine zdrges(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHA, BETA, WORK, LWORK, RWORK, RESULT, BWORK, INFO)
ZDRGES
subroutine zdrvvx(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NIUNIT, NOUNIT, A, LDA, H, W, W1, VL, LDVL, VR, LDVR, LRE, LDLRE, RCONDV, RCNDV1, RCDVIN, RCONDE, RCNDE1, RCDEIN, SCALE, SCALE1, RESULT, WORK, NWORK, RWORK, INFO)
ZDRVVX
subroutine zchkgg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, TSTDIF, THRSHN, NOUNIT, A, LDA, B, H, T, S1, S2, P1, P2, U, LDU, V, Q, Z, ALPHA1, BETA1, ALPHA3, BETA3, EVECTL, EVECTR, WORK, LWORK, RWORK, LLWORK, RESULT, INFO)
ZCHKGG
subroutine zchkst(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, AP, SD, SE, D1, D2, D3, D4, D5, WA1, WA2, WA3, WR, U, LDU, V, VP, TAU, Z, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
ZCHKST
logical function lse(RI, RJ, LR)
subroutine zckglm(NN, NVAL, MVAL, PVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
ZCKGLM
subroutine zchkst2stg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, AP, SD, SE, D1, D2, D3, D4, D5, WA1, WA2, WA3, WR, U, LDU, V, VP, TAU, Z, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
ZCHKST2STG
subroutine zchkhs(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, T1, T2, U, LDU, Z, UZ, W1, W3, EVECTL, EVECTR, EVECTY, EVECTX, UU, TAU, WORK, NWORK, RWORK, IWORK, SELECT, RESULT, INFO)
ZCHKHS
subroutine zerred(PATH, NUNIT)
ZERRED
subroutine zerrhs(PATH, NUNIT)
ZERRHS
subroutine zchkbd(NSIZES, MVAL, NVAL, NTYPES, DOTYPE, NRHS, ISEED, THRESH, A, LDA, BD, BE, S1, S2, X, LDX, Y, Z, Q, LDQ, PT, LDPT, U, VT, WORK, LWORK, RWORK, NOUT, INFO)
ZCHKBD
subroutine zdrgev(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, QE, LDQE, ALPHA, BETA, ALPHA1, BETA1, WORK, LWORK, RWORK, RESULT, INFO)
ZDRGEV
subroutine zdrgsx(NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, AI, BI, Z, Q, ALPHA, BETA, C, LDC, S, WORK, LWORK, RWORK, IWORK, LIWORK, BWORK, INFO)
ZDRGSX
subroutine zcklse(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
ZCKLSE
subroutine zerrst(PATH, NUNIT)
ZERRST
subroutine zdrvev(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, W, W1, VL, LDVL, VR, LDVR, LRE, LDLRE, RESULT, WORK, NWORK, RWORK, IWORK, INFO)
ZDRVEV
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine zchkhb(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, U, LDU, WORK, LWORK, RWORK, RESULT, INFO)
ZCHKHB
subroutine zdrvst(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, D1, D2, D3, WA1, WA2, WA3, U, LDU, V, TAU, Z, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
ZDRVST
subroutine zckgqr(NM, MVAL, NP, PVAL, NN, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, AQ, AR, TAUA, B, BF, BZ, BT, BWK, TAUB, WORK, RWORK, NIN, NOUT, INFO)
ZCKGQR
subroutine zdrvst2stg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, D1, D2, D3, WA1, WA2, WA3, U, LDU, V, TAU, Z, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
ZDRVST2STG
subroutine zchkbb(NSIZES, MVAL, NVAL, NWDTHS, KK, NTYPES, DOTYPE, NRHS, ISEED, THRESH, NOUNIT, A, LDA, AB, LDAB, BD, BE, Q, LDQ, P, LDP, C, LDC, CC, WORK, LWORK, RWORK, RESULT, INFO)
ZCHKBB
subroutine zerrgg(PATH, NUNIT)
ZERRGG
subroutine zdrges3(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHA, BETA, WORK, LWORK, RWORK, RESULT, BWORK, INFO)
ZDRGES3