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
1113 INTEGER INFOT, MAXB, NPROC, NSHIFT, NUNIT, SELDIM,
1117 LOGICAL SELVAL( 20 )
1118 INTEGER IPARMS( 100 )
1119 DOUBLE PRECISION SELWI( 20 ), SELWR( 20 )
1122 COMMON / cenvir / nproc, nshift, maxb
1123 COMMON / infoc / infot, nunit, ok, lerr
1124 COMMON / srnamc / srnamt
1125 COMMON / sslct / selopt, seldim, selval, selwr, selwi
1126 COMMON / claenv / iparms
1129 DATA intstr /
'0123456789' /
1130 DATA ioldsd / 0, 0, 0, 1 /
1148 READ( nin, fmt =
'(A80)', end = 380 )line
1150 nep = lsamen( 3, path,
'NEP' ) .OR. lsamen( 3, path,
'ZHS' )
1151 sep = lsamen( 3, path,
'SEP' ) .OR. lsamen( 3, path,
'ZST' ) .OR.
1152 $ lsamen( 3, path,
'ZSG' )
1153 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'ZBD' )
1154 zev = lsamen( 3, path,
'ZEV' )
1155 zes = lsamen( 3, path,
'ZES' )
1156 zvx = lsamen( 3, path,
'ZVX' )
1157 zsx = lsamen( 3, path,
'ZSX' )
1158 zgg = lsamen( 3, path,
'ZGG' )
1159 zgs = lsamen( 3, path,
'ZGS' )
1160 zgx = lsamen( 3, path,
'ZGX' )
1161 zgv = lsamen( 3, path,
'ZGV' )
1162 zxv = lsamen( 3, path,
'ZXV' )
1163 zhb = lsamen( 3, path,
'ZHB' )
1164 zbb = lsamen( 3, path,
'ZBB' )
1165 glm = lsamen( 3, path,
'GLM' )
1166 gqr = lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' )
1167 gsv = lsamen( 3, path,
'GSV' )
1168 csd = lsamen( 3, path,
'CSD' )
1169 lse = lsamen( 3, path,
'LSE' )
1170 zbl = lsamen( 3, path,
'ZBL' )
1171 zbk = lsamen( 3, path,
'ZBK' )
1172 zgl = lsamen( 3, path,
'ZGL' )
1173 zgk = lsamen( 3, path,
'ZGK' )
1177 IF( path.EQ.
' ' )
THEN
1180 WRITE( nout, fmt = 9987 )
1182 WRITE( nout, fmt = 9986 )
1184 WRITE( nout, fmt = 9985 )
1186 WRITE( nout, fmt = 9979 )
1188 WRITE( nout, fmt = 9978 )
1190 WRITE( nout, fmt = 9977 )
1192 WRITE( nout, fmt = 9976 )
1194 WRITE( nout, fmt = 9975 )
1196 WRITE( nout, fmt = 9964 )
1198 WRITE( nout, fmt = 9965 )
1200 WRITE( nout, fmt = 9963 )
1202 WRITE( nout, fmt = 9962 )
1204 WRITE( nout, fmt = 9974 )
1206 WRITE( nout, fmt = 9967 )
1208 WRITE( nout, fmt = 9971 )
1210 WRITE( nout, fmt = 9970 )
1212 WRITE( nout, fmt = 9969 )
1214 WRITE( nout, fmt = 9960 )
1216 WRITE( nout, fmt = 9968 )
1241 ELSE IF( lsamen( 3, path,
'ZEC' ) )
THEN
1245 READ( nin, fmt = * )thresh
1249 CALL zchkec( thresh, tsterr, nin, nout )
1252 WRITE( nout, fmt = 9992 )path
1255 CALL ilaver( vers_major, vers_minor, vers_patch )
1256 WRITE( nout, fmt = 9972 ) vers_major, vers_minor, vers_patch
1257 WRITE( nout, fmt = 9984 )
1261 READ( nin, fmt = * )nn
1263 WRITE( nout, fmt = 9989 )
' NN ', nn, 1
1266 ELSE IF( nn.GT.maxin )
THEN
1267 WRITE( nout, fmt = 9988 )
' NN ', nn, maxin
1274 IF( .NOT.( zgx .OR. zxv ) )
THEN
1275 READ( nin, fmt = * )( mval( i ), i = 1, nn )
1282 IF( mval( i ).LT.0 )
THEN
1283 WRITE( nout, fmt = 9989 )vname, mval( i ), 0
1285 ELSE IF( mval( i ).GT.nmax )
THEN
1286 WRITE( nout, fmt = 9988 )vname, mval( i ), nmax
1290 WRITE( nout, fmt = 9983 )
'M: ', ( mval( i ), i = 1, nn )
1295 IF( glm .OR. gqr .OR. gsv .OR. csd .OR.
lse )
THEN
1296 READ( nin, fmt = * )( pval( i ), i = 1, nn )
1298 IF( pval( i ).LT.0 )
THEN
1299 WRITE( nout, fmt = 9989 )
' P ', pval( i ), 0
1301 ELSE IF( pval( i ).GT.nmax )
THEN
1302 WRITE( nout, fmt = 9988 )
' P ', pval( i ), nmax
1306 WRITE( nout, fmt = 9983 )
'P: ', ( pval( i ), i = 1, nn )
1311 IF( svd .OR. zbb .OR. glm .OR. gqr .OR. gsv .OR. csd .OR.
1313 READ( nin, fmt = * )( nval( i ), i = 1, nn )
1315 IF( nval( i ).LT.0 )
THEN
1316 WRITE( nout, fmt = 9989 )
' N ', nval( i ), 0
1318 ELSE IF( nval( i ).GT.nmax )
THEN
1319 WRITE( nout, fmt = 9988 )
' N ', nval( i ), nmax
1325 nval( i ) = mval( i )
1328 IF( .NOT.( zgx .OR. zxv ) )
THEN
1329 WRITE( nout, fmt = 9983 )
'N: ', ( nval( i ), i = 1, nn )
1331 WRITE( nout, fmt = 9983 )
'N: ', nn
1336 IF( zhb .OR. zbb )
THEN
1337 READ( nin, fmt = * )nk
1338 READ( nin, fmt = * )( kval( i ), i = 1, nk )
1340 IF( kval( i ).LT.0 )
THEN
1341 WRITE( nout, fmt = 9989 )
' K ', kval( i ), 0
1343 ELSE IF( kval( i ).GT.nmax )
THEN
1344 WRITE( nout, fmt = 9988 )
' K ', kval( i ), nmax
1348 WRITE( nout, fmt = 9983 )
'K: ', ( kval( i ), i = 1, nk )
1351 IF( zev .OR. zes .OR. zvx .OR. zsx )
THEN
1356 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1357 $ inmin( 1 ), inwin( 1 ), inibl(1), ishfts(1), iacc22(1)
1358 IF( nbval( 1 ).LT.1 )
THEN
1359 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1361 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1362 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1364 ELSE IF( nxval( 1 ).LT.1 )
THEN
1365 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1367 ELSE IF( inmin( 1 ).LT.1 )
THEN
1368 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( 1 ), 1
1370 ELSE IF( inwin( 1 ).LT.1 )
THEN
1371 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( 1 ), 1
1373 ELSE IF( inibl( 1 ).LT.1 )
THEN
1374 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( 1 ), 1
1376 ELSE IF( ishfts( 1 ).LT.1 )
THEN
1377 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( 1 ), 1
1379 ELSE IF( iacc22( 1 ).LT.0 )
THEN
1380 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( 1 ), 0
1383 CALL xlaenv( 1, nbval( 1 ) )
1384 CALL xlaenv( 2, nbmin( 1 ) )
1385 CALL xlaenv( 3, nxval( 1 ) )
1386 CALL xlaenv(12, max( 11, inmin( 1 ) ) )
1387 CALL xlaenv(13, inwin( 1 ) )
1388 CALL xlaenv(14, inibl( 1 ) )
1389 CALL xlaenv(15, ishfts( 1 ) )
1390 CALL xlaenv(16, iacc22( 1 ) )
1391 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1392 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1393 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1394 WRITE( nout, fmt = 9983 )
'INMIN: ', inmin( 1 )
1395 WRITE( nout, fmt = 9983 )
'INWIN: ', inwin( 1 )
1396 WRITE( nout, fmt = 9983 )
'INIBL: ', inibl( 1 )
1397 WRITE( nout, fmt = 9983 )
'ISHFTS: ', ishfts( 1 )
1398 WRITE( nout, fmt = 9983 )
'IACC22: ', iacc22( 1 )
1400 ELSE IF( zgs .OR. zgx .OR. zgv .OR. zxv )
THEN
1405 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1406 $ nsval( 1 ), mxbval( 1 )
1407 IF( nbval( 1 ).LT.1 )
THEN
1408 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1410 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1411 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1413 ELSE IF( nxval( 1 ).LT.1 )
THEN
1414 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1416 ELSE IF( nsval( 1 ).LT.2 )
THEN
1417 WRITE( nout, fmt = 9989 )
' NS ', nsval( 1 ), 2
1419 ELSE IF( mxbval( 1 ).LT.1 )
THEN
1420 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( 1 ), 1
1423 CALL xlaenv( 1, nbval( 1 ) )
1424 CALL xlaenv( 2, nbmin( 1 ) )
1425 CALL xlaenv( 3, nxval( 1 ) )
1426 CALL xlaenv( 4, nsval( 1 ) )
1427 CALL xlaenv( 8, mxbval( 1 ) )
1428 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1429 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1430 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1431 WRITE( nout, fmt = 9983 )
'NS: ', nsval( 1 )
1432 WRITE( nout, fmt = 9983 )
'MAXB: ', mxbval( 1 )
1433 ELSE IF( .NOT.zhb .AND. .NOT.glm .AND. .NOT.gqr .AND. .NOT.
1434 $ gsv .AND. .NOT.csd .AND. .NOT.
lse )
THEN
1439 READ( nin, fmt = * )nparms
1440 IF( nparms.LT.1 )
THEN
1441 WRITE( nout, fmt = 9989 )
'NPARMS', nparms, 1
1444 ELSE IF( nparms.GT.maxin )
THEN
1445 WRITE( nout, fmt = 9988 )
'NPARMS', nparms, maxin
1453 READ( nin, fmt = * )( nbval( i ), i = 1, nparms )
1455 IF( nbval( i ).LT.0 )
THEN
1456 WRITE( nout, fmt = 9989 )
' NB ', nbval( i ), 0
1458 ELSE IF( nbval( i ).GT.nmax )
THEN
1459 WRITE( nout, fmt = 9988 )
' NB ', nbval( i ), nmax
1463 WRITE( nout, fmt = 9983 )
'NB: ',
1464 $ ( nbval( i ), i = 1, nparms )
1469 IF( nep .OR. sep .OR. svd .OR. zgg )
THEN
1470 READ( nin, fmt = * )( nbmin( i ), i = 1, nparms )
1472 IF( nbmin( i ).LT.0 )
THEN
1473 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( i ), 0
1475 ELSE IF( nbmin( i ).GT.nmax )
THEN
1476 WRITE( nout, fmt = 9988 )
'NBMIN ', nbmin( i ), nmax
1480 WRITE( nout, fmt = 9983 )
'NBMIN:',
1481 $ ( nbmin( i ), i = 1, nparms )
1490 IF( nep .OR. sep .OR. svd )
THEN
1491 READ( nin, fmt = * )( nxval( i ), i = 1, nparms )
1492 DO 100 i = 1, nparms
1493 IF( nxval( i ).LT.0 )
THEN
1494 WRITE( nout, fmt = 9989 )
' NX ', nxval( i ), 0
1496 ELSE IF( nxval( i ).GT.nmax )
THEN
1497 WRITE( nout, fmt = 9988 )
' NX ', nxval( i ), nmax
1501 WRITE( nout, fmt = 9983 )
'NX: ',
1502 $ ( nxval( i ), i = 1, nparms )
1504 DO 110 i = 1, nparms
1512 IF( svd .OR. zbb .OR. zgg )
THEN
1513 READ( nin, fmt = * )( nsval( i ), i = 1, nparms )
1514 DO 120 i = 1, nparms
1515 IF( nsval( i ).LT.0 )
THEN
1516 WRITE( nout, fmt = 9989 )
' NS ', nsval( i ), 0
1518 ELSE IF( nsval( i ).GT.nmax )
THEN
1519 WRITE( nout, fmt = 9988 )
' NS ', nsval( i ), nmax
1523 WRITE( nout, fmt = 9983 )
'NS: ',
1524 $ ( nsval( i ), i = 1, nparms )
1526 DO 130 i = 1, nparms
1534 READ( nin, fmt = * )( mxbval( i ), i = 1, nparms )
1535 DO 140 i = 1, nparms
1536 IF( mxbval( i ).LT.0 )
THEN
1537 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( i ), 0
1539 ELSE IF( mxbval( i ).GT.nmax )
THEN
1540 WRITE( nout, fmt = 9988 )
' MAXB ', mxbval( i ), nmax
1544 WRITE( nout, fmt = 9983 )
'MAXB: ',
1545 $ ( mxbval( i ), i = 1, nparms )
1547 DO 150 i = 1, nparms
1555 READ( nin, fmt = * )( inmin( i ), i = 1, nparms )
1556 DO 540 i = 1, nparms
1557 IF( inmin( i ).LT.0 )
THEN
1558 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( i ), 0
1562 WRITE( nout, fmt = 9983 )
'INMIN: ',
1563 $ ( inmin( i ), i = 1, nparms )
1565 DO 550 i = 1, nparms
1573 READ( nin, fmt = * )( inwin( i ), i = 1, nparms )
1574 DO 560 i = 1, nparms
1575 IF( inwin( i ).LT.0 )
THEN
1576 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( i ), 0
1580 WRITE( nout, fmt = 9983 )
'INWIN: ',
1581 $ ( inwin( i ), i = 1, nparms )
1583 DO 570 i = 1, nparms
1591 READ( nin, fmt = * )( inibl( i ), i = 1, nparms )
1592 DO 580 i = 1, nparms
1593 IF( inibl( i ).LT.0 )
THEN
1594 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( i ), 0
1598 WRITE( nout, fmt = 9983 )
'INIBL: ',
1599 $ ( inibl( i ), i = 1, nparms )
1601 DO 590 i = 1, nparms
1609 READ( nin, fmt = * )( ishfts( i ), i = 1, nparms )
1610 DO 600 i = 1, nparms
1611 IF( ishfts( i ).LT.0 )
THEN
1612 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( i ), 0
1616 WRITE( nout, fmt = 9983 )
'ISHFTS: ',
1617 $ ( ishfts( i ), i = 1, nparms )
1619 DO 610 i = 1, nparms
1626 IF( nep .OR. zgg )
THEN
1627 READ( nin, fmt = * )( iacc22( i ), i = 1, nparms )
1628 DO 620 i = 1, nparms
1629 IF( iacc22( i ).LT.0 )
THEN
1630 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( i ), 0
1634 WRITE( nout, fmt = 9983 )
'IACC22: ',
1635 $ ( iacc22( i ), i = 1, nparms )
1637 DO 630 i = 1, nparms
1645 READ( nin, fmt = * )( nbcol( i ), i = 1, nparms )
1646 DO 160 i = 1, nparms
1647 IF( nbcol( i ).LT.0 )
THEN
1648 WRITE( nout, fmt = 9989 )
'NBCOL ', nbcol( i ), 0
1650 ELSE IF( nbcol( i ).GT.nmax )
THEN
1651 WRITE( nout, fmt = 9988 )
'NBCOL ', nbcol( i ), nmax
1655 WRITE( nout, fmt = 9983 )
'NBCOL:',
1656 $ ( nbcol( i ), i = 1, nparms )
1658 DO 170 i = 1, nparms
1666 WRITE( nout, fmt = * )
1667 eps = dlamch(
'Underflow threshold' )
1668 WRITE( nout, fmt = 9981 )
'underflow', eps
1669 eps = dlamch(
'Overflow threshold' )
1670 WRITE( nout, fmt = 9981 )
'overflow ', eps
1671 eps = dlamch(
'Epsilon' )
1672 WRITE( nout, fmt = 9981 )
'precision', eps
1676 READ( nin, fmt = * )thresh
1677 WRITE( nout, fmt = 9982 )thresh
1678 IF( sep .OR. svd .OR. zgg )
THEN
1682 READ( nin, fmt = * )tstchk
1686 READ( nin, fmt = * )tstdrv
1691 READ( nin, fmt = * )tsterr
1695 READ( nin, fmt = * )newsd
1700 $
READ( nin, fmt = * )( ioldsd( i ), i = 1, 4 )
1703 iseed( i ) = ioldsd( i )
1707 WRITE( nout, fmt = 9999 )
1718 IF( .NOT.( zgx .OR. zxv ) )
THEN
1721 READ( nin, fmt =
'(A80)', end = 380 )line
1729 IF( i.GT.lenp )
THEN
1737 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN
1744 IF( c1.EQ.intstr( k: k ) )
THEN
1749 WRITE( nout, fmt = 9991 )i, line
1754 ELSE IF( i1.GT.0 )
THEN
1764 IF( .NOT.( zev .OR. zes .OR. zvx .OR. zsx .OR. zgv .OR.
1765 $ zgs ) .AND. ntypes.LE.0 )
THEN
1766 WRITE( nout, fmt = 9990 )c3
1779 IF( newsd.EQ.0 )
THEN
1781 iseed( k ) = ioldsd( k )
1785 IF( lsamen( 3, c3,
'ZHS' ) .OR. lsamen( 3, c3,
'NEP' ) )
THEN
1798 ntypes = min( maxtyp, ntypes )
1799 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1802 $
CALL zerrhs(
'ZHSEQR', nout )
1803 DO 270 i = 1, nparms
1804 CALL xlaenv( 1, nbval( i ) )
1805 CALL xlaenv( 2, nbmin( i ) )
1806 CALL xlaenv( 3, nxval( i ) )
1807 CALL xlaenv(12, max( 11, inmin( i ) ) )
1808 CALL xlaenv(13, inwin( i ) )
1809 CALL xlaenv(14, inibl( i ) )
1810 CALL xlaenv(15, ishfts( i ) )
1811 CALL xlaenv(16, iacc22( i ) )
1813 IF( newsd.EQ.0 )
THEN
1815 iseed( k ) = ioldsd( k )
1818 WRITE( nout, fmt = 9961 )c3, nbval( i ), nbmin( i ),
1819 $ nxval( i ), max( 11, inmin(i)),
1820 $ inwin( i ), inibl( i ), ishfts( i ), iacc22( i )
1821 CALL zchkhs( nn, nval, maxtyp, dotype, iseed, thresh, nout,
1822 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
1823 $ a( 1, 4 ), a( 1, 5 ), nmax, a( 1, 6 ),
1824 $ a( 1, 7 ), dc( 1, 1 ), dc( 1, 2 ), a( 1, 8 ),
1825 $ a( 1, 9 ), a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
1826 $ dc( 1, 3 ), work, lwork, rwork, iwork, logwrk,
1829 $
WRITE( nout, fmt = 9980 )
'ZCHKHS', info
1832 ELSE IF( lsamen( 3, c3,
'ZST' ) .OR. lsamen( 3, c3,
'SEP' ) )
THEN
1843 ntypes = min( maxtyp, ntypes )
1844 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1848 $
CALL zerrst(
'ZST', nout )
1849 DO 290 i = 1, nparms
1850 CALL xlaenv( 1, nbval( i ) )
1851 CALL xlaenv( 2, nbmin( i ) )
1852 CALL xlaenv( 3, nxval( i ) )
1854 IF( newsd.EQ.0 )
THEN
1856 iseed( k ) = ioldsd( k )
1859 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1862 CALL zchkst( nn, nval, maxtyp, dotype, iseed, thresh,
1863 $ nout, a( 1, 1 ), nmax, a( 1, 2 ),
1864 $ dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
1865 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
1866 $ dr( 1, 7 ), dr( 1, 8 ), dr( 1, 9 ),
1867 $ dr( 1, 10 ), dr( 1, 11 ), a( 1, 3 ), nmax,
1868 $ a( 1, 4 ), a( 1, 5 ), dc( 1, 1 ), a( 1, 6 ),
1869 $ work, lwork, rwork, lwork, iwork, liwork,
1872 $
WRITE( nout, fmt = 9980 )
'ZCHKST', info
1875 CALL zdrvst( nn, nval, 18, dotype, iseed, thresh, nout,
1876 $ a( 1, 1 ), nmax, dr( 1, 3 ), dr( 1, 4 ),
1877 $ dr( 1, 5 ), dr( 1, 8 ), dr( 1, 9 ),
1878 $ dr( 1, 10 ), a( 1, 2 ), nmax, a( 1, 3 ),
1879 $ dc( 1, 1 ), a( 1, 4 ), work, lwork, rwork,
1880 $ lwork, iwork, liwork, result, info )
1882 $
WRITE( nout, fmt = 9980 )
'ZDRVST', info
1886 ELSE IF( lsamen( 3, c3,
'ZSG' ) )
THEN
1897 ntypes = min( maxtyp, ntypes )
1898 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1900 DO 310 i = 1, nparms
1901 CALL xlaenv( 1, nbval( i ) )
1902 CALL xlaenv( 2, nbmin( i ) )
1903 CALL xlaenv( 3, nxval( i ) )
1905 IF( newsd.EQ.0 )
THEN
1907 iseed( k ) = ioldsd( k )
1910 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1913 CALL zdrvsg( nn, nval, maxtyp, dotype, iseed, thresh,
1914 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1915 $ dr( 1, 3 ), a( 1, 3 ), nmax, a( 1, 4 ),
1916 $ a( 1, 5 ), a( 1, 6 ), a( 1, 7 ), work,
1917 $ lwork, rwork, lwork, iwork, liwork, result,
1920 $
WRITE( nout, fmt = 9980 )
'ZDRVSG', info
1924 ELSE IF( lsamen( 3, c3,
'ZBD' ) .OR. lsamen( 3, c3,
'SVD' ) )
THEN
1936 ntypes = min( maxtyp, ntypes )
1937 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1943 IF( tsterr .AND. tstchk )
1944 $
CALL zerrbd(
'ZBD', nout )
1945 IF( tsterr .AND. tstdrv )
1946 $
CALL zerred(
'ZBD', nout )
1948 DO 330 i = 1, nparms
1950 CALL xlaenv( 1, nbval( i ) )
1951 CALL xlaenv( 2, nbmin( i ) )
1952 CALL xlaenv( 3, nxval( i ) )
1953 IF( newsd.EQ.0 )
THEN
1955 iseed( k ) = ioldsd( k )
1958 WRITE( nout, fmt = 9995 )c3, nbval( i ), nbmin( i ),
1961 CALL zchkbd( nn, mval, nval, maxtyp, dotype, nrhs, iseed,
1962 $ thresh, a( 1, 1 ), nmax, dr( 1, 1 ),
1963 $ dr( 1, 2 ), dr( 1, 3 ), dr( 1, 4 ),
1964 $ a( 1, 2 ), nmax, a( 1, 3 ), a( 1, 4 ),
1965 $ a( 1, 5 ), nmax, a( 1, 6 ), nmax, a( 1, 7 ),
1966 $ a( 1, 8 ), work, lwork, rwork, nout, info )
1968 $
WRITE( nout, fmt = 9980 )
'ZCHKBD', info
1971 $
CALL zdrvbd( nn, mval, nval, maxtyp, dotype, iseed,
1972 $ thresh, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1973 $ a( 1, 3 ), nmax, a( 1, 4 ), a( 1, 5 ),
1974 $ a( 1, 6 ), dr( 1, 1 ), dr( 1, 2 ),
1975 $ dr( 1, 3 ), work, lwork, rwork, iwork, nout,
1979 ELSE IF( lsamen( 3, c3,
'ZEV' ) )
THEN
1987 ntypes = min( maxtyp, ntypes )
1988 IF( ntypes.LE.0 )
THEN
1989 WRITE( nout, fmt = 9990 )c3
1992 $
CALL zerred( c3, nout )
1993 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1994 CALL zdrvev( nn, nval, ntypes, dotype, iseed, thresh, nout,
1995 $ a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
1996 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
1997 $ a( 1, 5 ), nmax, result, work, lwork, rwork,
2000 $
WRITE( nout, fmt = 9980 )
'ZGEEV', info
2002 WRITE( nout, fmt = 9973 )
2005 ELSE IF( lsamen( 3, c3,
'ZES' ) )
THEN
2013 ntypes = min( maxtyp, ntypes )
2014 IF( ntypes.LE.0 )
THEN
2015 WRITE( nout, fmt = 9990 )c3
2018 $
CALL zerred( c3, nout )
2019 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2020 CALL zdrves( nn, nval, ntypes, dotype, iseed, thresh, nout,
2021 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2022 $ dc( 1, 1 ), dc( 1, 2 ), a( 1, 4 ), nmax,
2023 $ result, work, lwork, rwork, iwork, logwrk,
2026 $
WRITE( nout, fmt = 9980 )
'ZGEES', info
2028 WRITE( nout, fmt = 9973 )
2031 ELSE IF( lsamen( 3, c3,
'ZVX' ) )
THEN
2039 ntypes = min( maxtyp, ntypes )
2040 IF( ntypes.LT.0 )
THEN
2041 WRITE( nout, fmt = 9990 )c3
2044 $
CALL zerred( c3, nout )
2045 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2046 CALL zdrvvx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2047 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
2048 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
2049 $ a( 1, 5 ), nmax, dr( 1, 1 ), dr( 1, 2 ),
2050 $ dr( 1, 3 ), dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
2051 $ dr( 1, 7 ), dr( 1, 8 ), result, work, lwork,
2054 $
WRITE( nout, fmt = 9980 )
'ZGEEVX', info
2056 WRITE( nout, fmt = 9973 )
2059 ELSE IF( lsamen( 3, c3,
'ZSX' ) )
THEN
2067 ntypes = min( maxtyp, ntypes )
2068 IF( ntypes.LT.0 )
THEN
2069 WRITE( nout, fmt = 9990 )c3
2072 $
CALL zerred( c3, nout )
2073 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2074 CALL zdrvsx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2075 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2076 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ), a( 1, 4 ),
2077 $ nmax, a( 1, 5 ), result, work, lwork, rwork,
2080 $
WRITE( nout, fmt = 9980 )
'ZGEESX', info
2082 WRITE( nout, fmt = 9973 )
2085 ELSE IF( lsamen( 3, c3,
'ZGG' ) )
THEN
2099 ntypes = min( maxtyp, ntypes )
2100 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2102 IF( tstchk .AND. tsterr )
2103 $
CALL zerrgg( c3, nout )
2104 DO 350 i = 1, nparms
2105 CALL xlaenv( 1, nbval( i ) )
2106 CALL xlaenv( 2, nbmin( i ) )
2107 CALL xlaenv( 4, nsval( i ) )
2108 CALL xlaenv( 8, mxbval( i ) )
2109 CALL xlaenv( 16, iacc22( i ) )
2110 CALL xlaenv( 5, nbcol( i ) )
2112 IF( newsd.EQ.0 )
THEN
2114 iseed( k ) = ioldsd( k )
2117 WRITE( nout, fmt = 9996 )c3, nbval( i ), nbmin( i ),
2118 $ nsval( i ), mxbval( i ), iacc22( i ), nbcol( i )
2122 CALL zchkgg( nn, nval, maxtyp, dotype, iseed, thresh,
2123 $ tstdif, thrshn, nout, a( 1, 1 ), nmax,
2124 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2125 $ a( 1, 6 ), a( 1, 7 ), a( 1, 8 ), a( 1, 9 ),
2126 $ nmax, a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
2127 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ),
2128 $ dc( 1, 4 ), a( 1, 13 ), a( 1, 14 ), work,
2129 $ lwork, rwork, logwrk, result, info )
2131 $
WRITE( nout, fmt = 9980 )
'ZCHKGG', info
2135 ELSE IF( lsamen( 3, c3,
'ZGS' ) )
THEN
2143 ntypes = min( maxtyp, ntypes )
2144 IF( ntypes.LE.0 )
THEN
2145 WRITE( nout, fmt = 9990 )c3
2148 $
CALL zerrgg( c3, nout )
2149 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2150 CALL zdrges( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2151 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2152 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2153 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2154 $ result, logwrk, info )
2157 $
WRITE( nout, fmt = 9980 )
'ZDRGES', info
2161 CALL zdrges3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2162 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2163 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2164 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2165 $ result, logwrk, info )
2168 $
WRITE( nout, fmt = 9980 )
'ZDRGES3', info
2170 WRITE( nout, fmt = 9973 )
2183 WRITE( nout, fmt = 9990 )c3
2186 $
CALL zerrgg( c3, nout )
2187 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2189 CALL zdrgsx( nn, ncmax, thresh, nin, nout, a( 1, 1 ), nmax,
2190 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2191 $ a( 1, 6 ), dc( 1, 1 ), dc( 1, 2 ), c,
2192 $ ncmax*ncmax, s, work, lwork, rwork, iwork,
2193 $ liwork, logwrk, info )
2195 $
WRITE( nout, fmt = 9980 )
'ZDRGSX', info
2197 WRITE( nout, fmt = 9973 )
2200 ELSE IF( lsamen( 3, c3,
'ZGV' ) )
THEN
2208 ntypes = min( maxtyp, ntypes )
2209 IF( ntypes.LE.0 )
THEN
2210 WRITE( nout, fmt = 9990 )c3
2213 $
CALL zerrgg( c3, nout )
2214 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2215 CALL zdrgev( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2216 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2217 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2218 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2219 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2222 $
WRITE( nout, fmt = 9980 )
'ZDRGEV', info
2227 CALL zdrgev3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2228 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2229 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2230 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2231 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2234 $
WRITE( nout, fmt = 9980 )
'ZDRGEV3', info
2236 WRITE( nout, fmt = 9973 )
2249 WRITE( nout, fmt = 9990 )c3
2252 $
CALL zerrgg( c3, nout )
2253 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2254 CALL zdrgvx( nn, thresh, nin, nout, a( 1, 1 ), nmax,
2255 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), dc( 1, 1 ),
2256 $ dc( 1, 2 ), a( 1, 5 ), a( 1, 6 ), iwork( 1 ),
2257 $ iwork( 2 ), dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
2258 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ), work,
2259 $ lwork, rwork, iwork( 3 ), liwork-2, result,
2263 $
WRITE( nout, fmt = 9980 )
'ZDRGVX', info
2265 WRITE( nout, fmt = 9973 )
2268 ELSE IF( lsamen( 3, c3,
'ZHB' ) )
THEN
2275 ntypes = min( maxtyp, ntypes )
2276 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2278 $
CALL zerrst(
'ZHB', nout )
2279 CALL zchkhb( nn, nval, nk, kval, maxtyp, dotype, iseed, thresh,
2280 $ nout, a( 1, 1 ), nmax, dr( 1, 1 ), dr( 1, 2 ),
2281 $ a( 1, 2 ), nmax, work, lwork, rwork, result,
2284 $
WRITE( nout, fmt = 9980 )
'ZCHKHB', info
2286 ELSE IF( lsamen( 3, c3,
'ZBB' ) )
THEN
2293 ntypes = min( maxtyp, ntypes )
2294 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2295 DO 370 i = 1, nparms
2298 IF( newsd.EQ.0 )
THEN
2300 iseed( k ) = ioldsd( k )
2303 WRITE( nout, fmt = 9966 )c3, nrhs
2304 CALL zchkbb( nn, mval, nval, nk, kval, maxtyp, dotype, nrhs,
2305 $ iseed, thresh, nout, a( 1, 1 ), nmax,
2306 $ a( 1, 2 ), 2*nmax, dr( 1, 1 ), dr( 1, 2 ),
2307 $ a( 1, 4 ), nmax, a( 1, 5 ), nmax, a( 1, 6 ),
2308 $ nmax, a( 1, 7 ), work, lwork, rwork, result,
2311 $
WRITE( nout, fmt = 9980 )
'ZCHKBB', info
2314 ELSE IF( lsamen( 3, c3,
'GLM' ) )
THEN
2322 $
CALL zerrgg(
'GLM', nout )
2323 CALL zckglm( nn, nval, mval, pval, ntypes, iseed, thresh, nmax,
2324 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2325 $ work, dr( 1, 1 ), nin, nout, info )
2327 $
WRITE( nout, fmt = 9980 )
'ZCKGLM', info
2329 ELSE IF( lsamen( 3, c3,
'GQR' ) )
THEN
2337 $
CALL zerrgg(
'GQR', nout )
2338 CALL zckgqr( nn, mval, nn, pval, nn, nval, ntypes, iseed,
2339 $ thresh, nmax, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
2340 $ a( 1, 4 ), taua, b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
2341 $ b( 1, 4 ), b( 1, 5 ), taub, work, dr( 1, 1 ), nin,
2344 $
WRITE( nout, fmt = 9980 )
'ZCKGQR', info
2346 ELSE IF( lsamen( 3, c3,
'GSV' ) )
THEN
2354 $
CALL zerrgg(
'GSV', nout )
2355 CALL zckgsv( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2356 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
2357 $ a( 1, 3 ), b( 1, 3 ), a( 1, 4 ), alpha, beta,
2358 $ b( 1, 4 ), iwork, work, dr( 1, 1 ), nin, nout,
2361 $
WRITE( nout, fmt = 9980 )
'ZCKGSV', info
2363 ELSE IF( lsamen( 3, c3,
'CSD' ) )
THEN
2371 $
CALL zerrgg(
'CSD', nout )
2372 CALL zckcsd( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2373 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), a( 1, 4 ),
2374 $ a( 1, 5 ), a( 1, 6 ), rwork, iwork, work,
2375 $ dr( 1, 1 ), nin, nout, info )
2377 $
WRITE( nout, fmt = 9980 )
'ZCKCSD', info
2379 ELSE IF( lsamen( 3, c3,
'LSE' ) )
THEN
2387 $
CALL zerrgg(
'LSE', nout )
2388 CALL zcklse( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2389 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2390 $ work, dr( 1, 1 ), nin, nout, info )
2392 $
WRITE( nout, fmt = 9980 )
'ZCKLSE', info
2394 WRITE( nout, fmt = * )
2395 WRITE( nout, fmt = * )
2396 WRITE( nout, fmt = 9992 )c3
2398 IF( .NOT.( zgx .OR. zxv ) )
2401 WRITE( nout, fmt = 9994 )
2403 WRITE( nout, fmt = 9993 )s2 - s1
2405 9999
FORMAT( /
' Execution not attempted due to input errors' )
2406 9997
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4 )
2407 9996
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NS =', i4,
2408 $
', MAXB =', i4,
', IACC22 =', i4,
', NBCOL =', i4 )
2409 9995
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2411 9994
FORMAT( / /
' End of tests' )
2412 9993
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
2413 9992
FORMAT( 1x, a3,
': Unrecognized path name' )
2414 9991
FORMAT( / /
' *** Invalid integer value in column ', i2,
2415 $
' of input',
' line:', / a79 )
2416 9990
FORMAT( / / 1x, a3,
' routines were not tested' )
2417 9989
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be >=',
2419 9988
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be <=',
2421 9987
FORMAT(
' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2422 9986
FORMAT(
' Tests of the Hermitian Eigenvalue Problem routines' )
2423 9985
FORMAT(
' Tests of the Singular Value Decomposition routines' )
2424 9984
FORMAT( /
' The following parameter values will be used:' )
2425 9983
FORMAT( 4x, a, 10i6, / 10x, 10i6 )
2426 9982
FORMAT( /
' Routines pass computational tests if test ratio is ',
2427 $
'less than', f8.2, / )
2428 9981
FORMAT(
' Relative machine ', a,
' is taken to be', d16.6 )
2429 9980
FORMAT(
' *** Error code from ', a,
' = ', i4 )
2430 9979
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2431 $ /
' ZGEEV (eigenvalues and eigevectors)' )
2432 9978
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2433 $ /
' ZGEES (Schur form)' )
2434 9977
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2435 $
' Driver', /
' ZGEEVX (eigenvalues, eigenvectors and',
2436 $
' condition numbers)' )
2437 9976
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2438 $
' Driver', /
' ZGEESX (Schur form and condition',
2440 9975
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2441 $
'Problem routines' )
2442 9974
FORMAT(
' Tests of ZHBTRD', /
' (reduction of a Hermitian band ',
2443 $
'matrix to real tridiagonal form)' )
2444 9973
FORMAT( / 1x, 71(
'-' ) )
2445 9972
FORMAT( /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1 )
2446 9971
FORMAT( /
' Tests of the Generalized Linear Regression Model ',
2448 9970
FORMAT( /
' Tests of the Generalized QR and RQ routines' )
2449 9969
FORMAT( /
' Tests of the Generalized Singular Value',
2450 $
' Decomposition routines' )
2451 9968
FORMAT( /
' Tests of the Linear Least Squares routines' )
2452 9967
FORMAT(
' Tests of ZGBBRD', /
' (reduction of a general band ',
2453 $
'matrix to real bidiagonal form)' )
2454 9966
FORMAT( / / 1x, a3,
': NRHS =', i4 )
2455 9965
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2456 $
'Problem Expert Driver ZGGESX' )
2457 9964
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2458 $
'Problem Driver ZGGES' )
2459 9963
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2460 $
'Problem Driver ZGGEV' )
2461 9962
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2462 $
'Problem Expert Driver ZGGEVX' )
2463 9961
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2465 $
', INWIN =', i4,
', INIBL =', i4,
', ISHFTS =', i4,
2467 9960
FORMAT( /
' Tests of the CS Decomposition routines' )
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 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 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 ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
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 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 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