1052 parameter ( nmax = 132 )
1054 parameter ( ncmax = 20 )
1056 parameter ( need = 14 )
1058 parameter ( lwork = nmax*( 5*nmax+5 )+1 )
1060 parameter ( liwork = nmax*( 5*nmax+20 ) )
1062 parameter ( maxin = 20 )
1064 parameter ( maxt = 30 )
1066 parameter ( nin = 5, nout = 6 )
1069 LOGICAL CSD, DBB, DGG, DSB, FATAL, GLM, GQR, GSV, LSE,
1070 $ nep, dbk, dbl, sep, des, dev, dgk, dgl, dgs,
1071 $ dgv, dgx, dsx, svd, dvx, dxv, tstchk, tstdif,
1074 CHARACTER*3 C3, PATH
1078 INTEGER I, I1, IC, INFO, ITMP, K, LENP, MAXTYP, NEWSD,
1079 $ nk, nn, nparms, nrhs, ntypes,
1080 $ vers_major, vers_minor, vers_patch
1081 DOUBLE PRECISION EPS, S1, S2, THRESH, THRSHN
1084 LOGICAL DOTYPE( maxt ), LOGWRK( nmax )
1085 INTEGER IOLDSD( 4 ), ISEED( 4 ), IWORK( liwork ),
1086 $ kval( maxin ), mval( maxin ), mxbval( maxin ),
1087 $ nbcol( maxin ), nbmin( maxin ), nbval( maxin ),
1088 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
1090 INTEGER INMIN( maxin ), INWIN( maxin ), INIBL( maxin ),
1091 $ ishfts( maxin ), iacc22( maxin )
1092 DOUBLE PRECISION A( nmax*nmax, need ), B( nmax*nmax, 5 ),
1093 $ c( ncmax*ncmax, ncmax*ncmax ), d( nmax, 12 ),
1094 $ result( 500 ), taua( nmax ), taub( nmax ),
1095 $ work( lwork ), x( 5*nmax )
1099 DOUBLE PRECISION DLAMCH, DSECND
1100 EXTERNAL lsamen, dlamch, dsecnd
1118 INTEGER INFOT, MAXB, NPROC, NSHIFT, NUNIT, SELDIM,
1122 LOGICAL SELVAL( 20 )
1123 INTEGER IPARMS( 100 )
1124 DOUBLE PRECISION SELWI( 20 ), SELWR( 20 )
1127 COMMON / cenvir / nproc, nshift, maxb
1128 COMMON / infoc / infot, nunit, ok, lerr
1129 COMMON / srnamc / srnamt
1130 COMMON / sslct / selopt, seldim, selval, selwr, selwi
1131 COMMON / claenv / iparms
1134 DATA intstr /
'0123456789' /
1135 DATA ioldsd / 0, 0, 0, 1 /
1153 READ( nin, fmt =
'(A80)', end = 380 )line
1155 nep = lsamen( 3, path,
'NEP' ) .OR. lsamen( 3, path,
'DHS' )
1156 sep = lsamen( 3, path,
'SEP' ) .OR. lsamen( 3, path,
'DST' ) .OR.
1157 $ lsamen( 3, path,
'DSG' ) .OR. lsamen( 3, path,
'SE2' )
1158 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'DBD' )
1159 dev = lsamen( 3, path,
'DEV' )
1160 des = lsamen( 3, path,
'DES' )
1161 dvx = lsamen( 3, path,
'DVX' )
1162 dsx = lsamen( 3, path,
'DSX' )
1163 dgg = lsamen( 3, path,
'DGG' )
1164 dgs = lsamen( 3, path,
'DGS' )
1165 dgx = lsamen( 3, path,
'DGX' )
1166 dgv = lsamen( 3, path,
'DGV' )
1167 dxv = lsamen( 3, path,
'DXV' )
1168 dsb = lsamen( 3, path,
'DSB' )
1169 dbb = lsamen( 3, path,
'DBB' )
1170 glm = lsamen( 3, path,
'GLM' )
1171 gqr = lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' )
1172 gsv = lsamen( 3, path,
'GSV' )
1173 csd = lsamen( 3, path,
'CSD' )
1174 lse = lsamen( 3, path,
'LSE' )
1175 dbl = lsamen( 3, path,
'DBL' )
1176 dbk = lsamen( 3, path,
'DBK' )
1177 dgl = lsamen( 3, path,
'DGL' )
1178 dgk = lsamen( 3, path,
'DGK' )
1182 IF( path.EQ.
' ' )
THEN
1185 WRITE( nout, fmt = 9987 )
1187 WRITE( nout, fmt = 9986 )
1189 WRITE( nout, fmt = 9985 )
1191 WRITE( nout, fmt = 9979 )
1193 WRITE( nout, fmt = 9978 )
1195 WRITE( nout, fmt = 9977 )
1197 WRITE( nout, fmt = 9976 )
1199 WRITE( nout, fmt = 9975 )
1201 WRITE( nout, fmt = 9964 )
1203 WRITE( nout, fmt = 9965 )
1205 WRITE( nout, fmt = 9963 )
1207 WRITE( nout, fmt = 9962 )
1209 WRITE( nout, fmt = 9974 )
1211 WRITE( nout, fmt = 9967 )
1213 WRITE( nout, fmt = 9971 )
1215 WRITE( nout, fmt = 9970 )
1217 WRITE( nout, fmt = 9969 )
1219 WRITE( nout, fmt = 9960 )
1221 WRITE( nout, fmt = 9968 )
1246 ELSE IF( lsamen( 3, path,
'DEC' ) )
THEN
1250 READ( nin, fmt = * )thresh
1258 CALL dchkec( thresh, tsterr, nin, nout )
1261 WRITE( nout, fmt = 9992 )path
1264 CALL ilaver( vers_major, vers_minor, vers_patch )
1265 WRITE( nout, fmt = 9972 ) vers_major, vers_minor, vers_patch
1266 WRITE( nout, fmt = 9984 )
1270 READ( nin, fmt = * )nn
1272 WRITE( nout, fmt = 9989 )
' NN ', nn, 1
1275 ELSE IF( nn.GT.maxin )
THEN
1276 WRITE( nout, fmt = 9988 )
' NN ', nn, maxin
1283 IF( .NOT.( dgx .OR. dxv ) )
THEN
1284 READ( nin, fmt = * )( mval( i ), i = 1, nn )
1291 IF( mval( i ).LT.0 )
THEN
1292 WRITE( nout, fmt = 9989 )vname, mval( i ), 0
1294 ELSE IF( mval( i ).GT.nmax )
THEN
1295 WRITE( nout, fmt = 9988 )vname, mval( i ), nmax
1299 WRITE( nout, fmt = 9983 )
'M: ', ( mval( i ), i = 1, nn )
1304 IF( glm .OR. gqr .OR. gsv .OR. csd .OR. lse )
THEN
1305 READ( nin, fmt = * )( pval( i ), i = 1, nn )
1307 IF( pval( i ).LT.0 )
THEN
1308 WRITE( nout, fmt = 9989 )
' P ', pval( i ), 0
1310 ELSE IF( pval( i ).GT.nmax )
THEN
1311 WRITE( nout, fmt = 9988 )
' P ', pval( i ), nmax
1315 WRITE( nout, fmt = 9983 )
'P: ', ( pval( i ), i = 1, nn )
1320 IF( svd .OR. dbb .OR. glm .OR. gqr .OR. gsv .OR. csd .OR.
1322 READ( nin, fmt = * )( nval( i ), i = 1, nn )
1324 IF( nval( i ).LT.0 )
THEN
1325 WRITE( nout, fmt = 9989 )
' N ', nval( i ), 0
1327 ELSE IF( nval( i ).GT.nmax )
THEN
1328 WRITE( nout, fmt = 9988 )
' N ', nval( i ), nmax
1334 nval( i ) = mval( i )
1337 IF( .NOT.( dgx .OR. dxv ) )
THEN
1338 WRITE( nout, fmt = 9983 )
'N: ', ( nval( i ), i = 1, nn )
1340 WRITE( nout, fmt = 9983 )
'N: ', nn
1345 IF( dsb .OR. dbb )
THEN
1346 READ( nin, fmt = * )nk
1347 READ( nin, fmt = * )( kval( i ), i = 1, nk )
1349 IF( kval( i ).LT.0 )
THEN
1350 WRITE( nout, fmt = 9989 )
' K ', kval( i ), 0
1352 ELSE IF( kval( i ).GT.nmax )
THEN
1353 WRITE( nout, fmt = 9988 )
' K ', kval( i ), nmax
1357 WRITE( nout, fmt = 9983 )
'K: ', ( kval( i ), i = 1, nk )
1360 IF( dev .OR. des .OR. dvx .OR. dsx )
THEN
1365 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1366 $ inmin( 1 ), inwin( 1 ), inibl(1), ishfts(1), iacc22(1)
1367 IF( nbval( 1 ).LT.1 )
THEN
1368 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1370 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1371 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1373 ELSE IF( nxval( 1 ).LT.1 )
THEN
1374 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1376 ELSE IF( inmin( 1 ).LT.1 )
THEN
1377 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( 1 ), 1
1379 ELSE IF( inwin( 1 ).LT.1 )
THEN
1380 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( 1 ), 1
1382 ELSE IF( inibl( 1 ).LT.1 )
THEN
1383 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( 1 ), 1
1385 ELSE IF( ishfts( 1 ).LT.1 )
THEN
1386 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( 1 ), 1
1388 ELSE IF( iacc22( 1 ).LT.0 )
THEN
1389 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( 1 ), 0
1392 CALL xlaenv( 1, nbval( 1 ) )
1393 CALL xlaenv( 2, nbmin( 1 ) )
1394 CALL xlaenv( 3, nxval( 1 ) )
1395 CALL xlaenv(12, max( 11, inmin( 1 ) ) )
1396 CALL xlaenv(13, inwin( 1 ) )
1397 CALL xlaenv(14, inibl( 1 ) )
1398 CALL xlaenv(15, ishfts( 1 ) )
1399 CALL xlaenv(16, iacc22( 1 ) )
1400 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1401 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1402 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1403 WRITE( nout, fmt = 9983 )
'INMIN: ', inmin( 1 )
1404 WRITE( nout, fmt = 9983 )
'INWIN: ', inwin( 1 )
1405 WRITE( nout, fmt = 9983 )
'INIBL: ', inibl( 1 )
1406 WRITE( nout, fmt = 9983 )
'ISHFTS: ', ishfts( 1 )
1407 WRITE( nout, fmt = 9983 )
'IACC22: ', iacc22( 1 )
1409 ELSEIF( dgs .OR. dgx .OR. dgv .OR. dxv )
THEN
1414 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1415 $ nsval( 1 ), mxbval( 1 )
1416 IF( nbval( 1 ).LT.1 )
THEN
1417 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1419 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1420 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1422 ELSE IF( nxval( 1 ).LT.1 )
THEN
1423 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1425 ELSE IF( nsval( 1 ).LT.2 )
THEN
1426 WRITE( nout, fmt = 9989 )
' NS ', nsval( 1 ), 2
1428 ELSE IF( mxbval( 1 ).LT.1 )
THEN
1429 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( 1 ), 1
1432 CALL xlaenv( 1, nbval( 1 ) )
1433 CALL xlaenv( 2, nbmin( 1 ) )
1434 CALL xlaenv( 3, nxval( 1 ) )
1435 CALL xlaenv( 4, nsval( 1 ) )
1436 CALL xlaenv( 8, mxbval( 1 ) )
1437 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1438 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1439 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1440 WRITE( nout, fmt = 9983 )
'NS: ', nsval( 1 )
1441 WRITE( nout, fmt = 9983 )
'MAXB: ', mxbval( 1 )
1443 ELSE IF( .NOT.dsb .AND. .NOT.glm .AND. .NOT.gqr .AND. .NOT.
1444 $ gsv .AND. .NOT.csd .AND. .NOT.lse )
THEN
1449 READ( nin, fmt = * )nparms
1450 IF( nparms.LT.1 )
THEN
1451 WRITE( nout, fmt = 9989 )
'NPARMS', nparms, 1
1454 ELSE IF( nparms.GT.maxin )
THEN
1455 WRITE( nout, fmt = 9988 )
'NPARMS', nparms, maxin
1463 READ( nin, fmt = * )( nbval( i ), i = 1, nparms )
1465 IF( nbval( i ).LT.0 )
THEN
1466 WRITE( nout, fmt = 9989 )
' NB ', nbval( i ), 0
1468 ELSE IF( nbval( i ).GT.nmax )
THEN
1469 WRITE( nout, fmt = 9988 )
' NB ', nbval( i ), nmax
1473 WRITE( nout, fmt = 9983 )
'NB: ',
1474 $ ( nbval( i ), i = 1, nparms )
1479 IF( nep .OR. sep .OR. svd .OR. dgg )
THEN
1480 READ( nin, fmt = * )( nbmin( i ), i = 1, nparms )
1482 IF( nbmin( i ).LT.0 )
THEN
1483 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( i ), 0
1485 ELSE IF( nbmin( i ).GT.nmax )
THEN
1486 WRITE( nout, fmt = 9988 )
'NBMIN ', nbmin( i ), nmax
1490 WRITE( nout, fmt = 9983 )
'NBMIN:',
1491 $ ( nbmin( i ), i = 1, nparms )
1500 IF( nep .OR. sep .OR. svd )
THEN
1501 READ( nin, fmt = * )( nxval( i ), i = 1, nparms )
1502 DO 100 i = 1, nparms
1503 IF( nxval( i ).LT.0 )
THEN
1504 WRITE( nout, fmt = 9989 )
' NX ', nxval( i ), 0
1506 ELSE IF( nxval( i ).GT.nmax )
THEN
1507 WRITE( nout, fmt = 9988 )
' NX ', nxval( i ), nmax
1511 WRITE( nout, fmt = 9983 )
'NX: ',
1512 $ ( nxval( i ), i = 1, nparms )
1514 DO 110 i = 1, nparms
1522 IF( svd .OR. dbb .OR. dgg )
THEN
1523 READ( nin, fmt = * )( nsval( i ), i = 1, nparms )
1524 DO 120 i = 1, nparms
1525 IF( nsval( i ).LT.0 )
THEN
1526 WRITE( nout, fmt = 9989 )
' NS ', nsval( i ), 0
1528 ELSE IF( nsval( i ).GT.nmax )
THEN
1529 WRITE( nout, fmt = 9988 )
' NS ', nsval( i ), nmax
1533 WRITE( nout, fmt = 9983 )
'NS: ',
1534 $ ( nsval( i ), i = 1, nparms )
1536 DO 130 i = 1, nparms
1544 READ( nin, fmt = * )( mxbval( i ), i = 1, nparms )
1545 DO 140 i = 1, nparms
1546 IF( mxbval( i ).LT.0 )
THEN
1547 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( i ), 0
1549 ELSE IF( mxbval( i ).GT.nmax )
THEN
1550 WRITE( nout, fmt = 9988 )
' MAXB ', mxbval( i ), nmax
1554 WRITE( nout, fmt = 9983 )
'MAXB: ',
1555 $ ( mxbval( i ), i = 1, nparms )
1557 DO 150 i = 1, nparms
1565 READ( nin, fmt = * )( inmin( i ), i = 1, nparms )
1566 DO 540 i = 1, nparms
1567 IF( inmin( i ).LT.0 )
THEN
1568 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( i ), 0
1572 WRITE( nout, fmt = 9983 )
'INMIN: ',
1573 $ ( inmin( i ), i = 1, nparms )
1575 DO 550 i = 1, nparms
1583 READ( nin, fmt = * )( inwin( i ), i = 1, nparms )
1584 DO 560 i = 1, nparms
1585 IF( inwin( i ).LT.0 )
THEN
1586 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( i ), 0
1590 WRITE( nout, fmt = 9983 )
'INWIN: ',
1591 $ ( inwin( i ), i = 1, nparms )
1593 DO 570 i = 1, nparms
1601 READ( nin, fmt = * )( inibl( i ), i = 1, nparms )
1602 DO 580 i = 1, nparms
1603 IF( inibl( i ).LT.0 )
THEN
1604 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( i ), 0
1608 WRITE( nout, fmt = 9983 )
'INIBL: ',
1609 $ ( inibl( i ), i = 1, nparms )
1611 DO 590 i = 1, nparms
1619 READ( nin, fmt = * )( ishfts( i ), i = 1, nparms )
1620 DO 600 i = 1, nparms
1621 IF( ishfts( i ).LT.0 )
THEN
1622 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( i ), 0
1626 WRITE( nout, fmt = 9983 )
'ISHFTS: ',
1627 $ ( ishfts( i ), i = 1, nparms )
1629 DO 610 i = 1, nparms
1636 IF( nep .OR. dgg )
THEN
1637 READ( nin, fmt = * )( iacc22( i ), i = 1, nparms )
1638 DO 620 i = 1, nparms
1639 IF( iacc22( i ).LT.0 )
THEN
1640 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( i ), 0
1644 WRITE( nout, fmt = 9983 )
'IACC22: ',
1645 $ ( iacc22( i ), i = 1, nparms )
1647 DO 630 i = 1, nparms
1655 READ( nin, fmt = * )( nbcol( i ), i = 1, nparms )
1656 DO 160 i = 1, nparms
1657 IF( nbcol( i ).LT.0 )
THEN
1658 WRITE( nout, fmt = 9989 )
'NBCOL ', nbcol( i ), 0
1660 ELSE IF( nbcol( i ).GT.nmax )
THEN
1661 WRITE( nout, fmt = 9988 )
'NBCOL ', nbcol( i ), nmax
1665 WRITE( nout, fmt = 9983 )
'NBCOL:',
1666 $ ( nbcol( i ), i = 1, nparms )
1668 DO 170 i = 1, nparms
1676 WRITE( nout, fmt = * )
1677 eps = dlamch(
'Underflow threshold' )
1678 WRITE( nout, fmt = 9981 )
'underflow', eps
1679 eps = dlamch(
'Overflow threshold' )
1680 WRITE( nout, fmt = 9981 )
'overflow ', eps
1681 eps = dlamch(
'Epsilon' )
1682 WRITE( nout, fmt = 9981 )
'precision', eps
1686 READ( nin, fmt = * )thresh
1687 WRITE( nout, fmt = 9982 )thresh
1688 IF( sep .OR. svd .OR. dgg )
THEN
1692 READ( nin, fmt = * )tstchk
1696 READ( nin, fmt = * )tstdrv
1701 READ( nin, fmt = * )tsterr
1705 READ( nin, fmt = * )newsd
1710 $
READ( nin, fmt = * )( ioldsd( i ), i = 1, 4 )
1713 iseed( i ) = ioldsd( i )
1717 WRITE( nout, fmt = 9999 )
1728 IF( .NOT.( dgx .OR. dxv ) )
THEN
1731 READ( nin, fmt =
'(A80)', end = 380 )line
1739 IF( i.GT.lenp )
THEN
1747 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN
1754 IF( c1.EQ.intstr( k: k ) )
THEN
1759 WRITE( nout, fmt = 9991 )i, line
1764 ELSE IF( i1.GT.0 )
THEN
1774 IF( .NOT.( dev .OR. des .OR. dvx .OR. dsx .OR. dgv .OR.
1775 $ dgs ) .AND. ntypes.LE.0 )
THEN
1776 WRITE( nout, fmt = 9990 )c3
1789 IF( newsd.EQ.0 )
THEN
1791 iseed( k ) = ioldsd( k )
1795 IF( lsamen( 3, c3,
'DHS' ) .OR. lsamen( 3, c3,
'NEP' ) )
THEN
1808 ntypes = min( maxtyp, ntypes )
1809 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1812 $
CALL derrhs(
'DHSEQR', nout )
1813 DO 270 i = 1, nparms
1814 CALL xlaenv( 1, nbval( i ) )
1815 CALL xlaenv( 2, nbmin( i ) )
1816 CALL xlaenv( 3, nxval( i ) )
1817 CALL xlaenv(12, max( 11, inmin( i ) ) )
1818 CALL xlaenv(13, inwin( i ) )
1819 CALL xlaenv(14, inibl( i ) )
1820 CALL xlaenv(15, ishfts( i ) )
1821 CALL xlaenv(16, iacc22( i ) )
1823 IF( newsd.EQ.0 )
THEN
1825 iseed( k ) = ioldsd( k )
1828 WRITE( nout, fmt = 9961 )c3, nbval( i ), nbmin( i ),
1829 $ nxval( i ), max( 11, inmin(i)),
1830 $ inwin( i ), inibl( i ), ishfts( i ), iacc22( i )
1831 CALL dchkhs( nn, nval, maxtyp, dotype, iseed, thresh, nout,
1832 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
1833 $ a( 1, 4 ), a( 1, 5 ), nmax, a( 1, 6 ),
1834 $ a( 1, 7 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
1835 $ d( 1, 4 ), d( 1, 5 ), d( 1, 6 ), a( 1, 8 ),
1836 $ a( 1, 9 ), a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
1837 $ d( 1, 7 ), work, lwork, iwork, logwrk, result,
1840 $
WRITE( nout, fmt = 9980 )
'DCHKHS', info
1843 ELSE IF( lsamen( 3, c3,
'DST' ) .OR. lsamen( 3, c3,
'SEP' )
1844 $ .OR. lsamen( 3, c3,
'SE2' ) )
THEN
1855 ntypes = min( maxtyp, ntypes )
1856 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1860 $
CALL derrst(
'DST', nout )
1861 DO 290 i = 1, nparms
1862 CALL xlaenv( 1, nbval( i ) )
1863 CALL xlaenv( 2, nbmin( i ) )
1864 CALL xlaenv( 3, nxval( i ) )
1866 IF( newsd.EQ.0 )
THEN
1868 iseed( k ) = ioldsd( k )
1871 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1874 IF( lsamen( 3, c3,
'SE2' ) )
THEN
1875 CALL dchkst2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1876 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
1877 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), d( 1, 5 ),
1878 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
1879 $ d( 1, 10 ), d( 1, 11 ), a( 1, 3 ), nmax,
1880 $ a( 1, 4 ), a( 1, 5 ), d( 1, 12 ), a( 1, 6 ),
1881 $ work, lwork, iwork, liwork, result, info )
1883 CALL dchkst( nn, nval, maxtyp, dotype, iseed, thresh,
1884 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
1885 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), d( 1, 5 ),
1886 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
1887 $ d( 1, 10 ), d( 1, 11 ), a( 1, 3 ), nmax,
1888 $ a( 1, 4 ), a( 1, 5 ), d( 1, 12 ), a( 1, 6 ),
1889 $ work, lwork, iwork, liwork, result, info )
1892 $
WRITE( nout, fmt = 9980 )
'DCHKST', info
1895 IF( lsamen( 3, c3,
'SE2' ) )
THEN
1896 CALL ddrvst2stg( nn, nval, 18, dotype, iseed, thresh,
1897 $ nout, a( 1, 1 ), nmax, d( 1, 3 ), d( 1, 4 ),
1898 $ d( 1, 5 ), d( 1, 6 ), d( 1, 8 ), d( 1, 9 ),
1899 $ d( 1, 10 ), d( 1, 11 ), a( 1, 2 ), nmax,
1900 $ a( 1, 3 ), d( 1, 12 ), a( 1, 4 ), work,
1901 $ lwork, iwork, liwork, result, info )
1903 CALL ddrvst( nn, nval, 18, dotype, iseed, thresh, nout,
1904 $ a( 1, 1 ), nmax, d( 1, 3 ), d( 1, 4 ),
1905 $ d( 1, 5 ), d( 1, 6 ), d( 1, 8 ), d( 1, 9 ),
1906 $ d( 1, 10 ), d( 1, 11 ), a( 1, 2 ), nmax,
1907 $ a( 1, 3 ), d( 1, 12 ), a( 1, 4 ), work,
1908 $ lwork, iwork, liwork, result, info )
1911 $
WRITE( nout, fmt = 9980 )
'DDRVST', info
1915 ELSE IF( lsamen( 3, c3,
'DSG' ) )
THEN
1926 ntypes = min( maxtyp, ntypes )
1927 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1929 DO 310 i = 1, nparms
1930 CALL xlaenv( 1, nbval( i ) )
1931 CALL xlaenv( 2, nbmin( i ) )
1932 CALL xlaenv( 3, nxval( i ) )
1934 IF( newsd.EQ.0 )
THEN
1936 iseed( k ) = ioldsd( k )
1939 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1947 CALL ddrvsg2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1948 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1949 $ d( 1, 3 ), d( 1, 3 ), a( 1, 3 ), nmax,
1950 $ a( 1, 4 ), a( 1, 5 ), a( 1, 6 ),
1951 $ a( 1, 7 ), work, lwork, iwork, liwork,
1954 $
WRITE( nout, fmt = 9980 )
'DDRVSG', info
1958 ELSE IF( lsamen( 3, c3,
'DBD' ) .OR. lsamen( 3, c3,
'SVD' ) )
THEN
1970 ntypes = min( maxtyp, ntypes )
1971 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1977 IF( tsterr .AND. tstchk )
1978 $
CALL derrbd(
'DBD', nout )
1979 IF( tsterr .AND. tstdrv )
1980 $
CALL derred(
'DBD', nout )
1982 DO 330 i = 1, nparms
1984 CALL xlaenv( 1, nbval( i ) )
1985 CALL xlaenv( 2, nbmin( i ) )
1986 CALL xlaenv( 3, nxval( i ) )
1987 IF( newsd.EQ.0 )
THEN
1989 iseed( k ) = ioldsd( k )
1992 WRITE( nout, fmt = 9995 )c3, nbval( i ), nbmin( i ),
1995 CALL dchkbd( nn, mval, nval, maxtyp, dotype, nrhs, iseed,
1996 $ thresh, a( 1, 1 ), nmax, d( 1, 1 ),
1997 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 2 ),
1998 $ nmax, a( 1, 3 ), a( 1, 4 ), a( 1, 5 ), nmax,
1999 $ a( 1, 6 ), nmax, a( 1, 7 ), a( 1, 8 ), work,
2000 $ lwork, iwork, nout, info )
2002 $
WRITE( nout, fmt = 9980 )
'DCHKBD', info
2005 $
CALL ddrvbd( nn, mval, nval, maxtyp, dotype, iseed,
2006 $ thresh, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
2007 $ a( 1, 3 ), nmax, a( 1, 4 ), a( 1, 5 ),
2008 $ a( 1, 6 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
2009 $ work, lwork, iwork, nout, info )
2012 ELSE IF( lsamen( 3, c3,
'DEV' ) )
THEN
2020 ntypes = min( maxtyp, ntypes )
2021 IF( ntypes.LE.0 )
THEN
2022 WRITE( nout, fmt = 9990 )c3
2025 $
CALL derred( c3, nout )
2026 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2027 CALL ddrvev( nn, nval, ntypes, dotype, iseed, thresh, nout,
2028 $ a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
2029 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 3 ),
2030 $ nmax, a( 1, 4 ), nmax, a( 1, 5 ), nmax, result,
2031 $ work, lwork, iwork, info )
2033 $
WRITE( nout, fmt = 9980 )
'DGEEV', info
2035 WRITE( nout, fmt = 9973 )
2038 ELSE IF( lsamen( 3, c3,
'DES' ) )
THEN
2046 ntypes = min( maxtyp, ntypes )
2047 IF( ntypes.LE.0 )
THEN
2048 WRITE( nout, fmt = 9990 )c3
2051 $
CALL derred( c3, nout )
2052 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2053 CALL ddrves( nn, nval, ntypes, dotype, iseed, thresh, nout,
2054 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2055 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2056 $ a( 1, 4 ), nmax, result, work, lwork, iwork,
2059 $
WRITE( nout, fmt = 9980 )
'DGEES', info
2061 WRITE( nout, fmt = 9973 )
2064 ELSE IF( lsamen( 3, c3,
'DVX' ) )
THEN
2072 ntypes = min( maxtyp, ntypes )
2073 IF( ntypes.LT.0 )
THEN
2074 WRITE( nout, fmt = 9990 )c3
2077 $
CALL derred( c3, nout )
2078 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2079 CALL ddrvvx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2080 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
2081 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 3 ),
2082 $ nmax, a( 1, 4 ), nmax, a( 1, 5 ), nmax,
2083 $ d( 1, 5 ), d( 1, 6 ), d( 1, 7 ), d( 1, 8 ),
2084 $ d( 1, 9 ), d( 1, 10 ), d( 1, 11 ), d( 1, 12 ),
2085 $ result, work, lwork, iwork, info )
2087 $
WRITE( nout, fmt = 9980 )
'DGEEVX', info
2089 WRITE( nout, fmt = 9973 )
2092 ELSE IF( lsamen( 3, c3,
'DSX' ) )
THEN
2100 ntypes = min( maxtyp, ntypes )
2101 IF( ntypes.LT.0 )
THEN
2102 WRITE( nout, fmt = 9990 )c3
2105 $
CALL derred( c3, nout )
2106 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2107 CALL ddrvsx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2108 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2109 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2110 $ d( 1, 5 ), d( 1, 6 ), a( 1, 4 ), nmax,
2111 $ a( 1, 5 ), result, work, lwork, iwork, logwrk,
2114 $
WRITE( nout, fmt = 9980 )
'DGEESX', info
2116 WRITE( nout, fmt = 9973 )
2119 ELSE IF( lsamen( 3, c3,
'DGG' ) )
THEN
2133 ntypes = min( maxtyp, ntypes )
2134 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2136 IF( tstchk .AND. tsterr )
2137 $
CALL derrgg( c3, nout )
2138 DO 350 i = 1, nparms
2139 CALL xlaenv( 1, nbval( i ) )
2140 CALL xlaenv( 2, nbmin( i ) )
2141 CALL xlaenv( 4, nsval( i ) )
2142 CALL xlaenv( 8, mxbval( i ) )
2143 CALL xlaenv( 16, iacc22( i ) )
2144 CALL xlaenv( 5, nbcol( i ) )
2146 IF( newsd.EQ.0 )
THEN
2148 iseed( k ) = ioldsd( k )
2151 WRITE( nout, fmt = 9996 )c3, nbval( i ), nbmin( i ),
2152 $ nsval( i ), mxbval( i ), iacc22( i ), nbcol( i )
2156 CALL dchkgg( nn, nval, maxtyp, dotype, iseed, thresh,
2157 $ tstdif, thrshn, nout, a( 1, 1 ), nmax,
2158 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2159 $ a( 1, 6 ), a( 1, 7 ), a( 1, 8 ), a( 1, 9 ),
2160 $ nmax, a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
2161 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2162 $ d( 1, 5 ), d( 1, 6 ), a( 1, 13 ),
2163 $ a( 1, 14 ), work, lwork, logwrk, result,
2166 $
WRITE( nout, fmt = 9980 )
'DCHKGG', info
2170 ELSE IF( lsamen( 3, c3,
'DGS' ) )
THEN
2178 ntypes = min( maxtyp, ntypes )
2179 IF( ntypes.LE.0 )
THEN
2180 WRITE( nout, fmt = 9990 )c3
2183 $
CALL derrgg( c3, nout )
2184 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2185 CALL ddrges( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2186 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2187 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2188 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), work, lwork,
2189 $ result, logwrk, info )
2191 $
WRITE( nout, fmt = 9980 )
'DDRGES', info
2196 CALL ddrges3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2197 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2198 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2199 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), work, lwork,
2200 $ result, logwrk, info )
2202 $
WRITE( nout, fmt = 9980 )
'DDRGES3', info
2204 WRITE( nout, fmt = 9973 )
2217 WRITE( nout, fmt = 9990 )c3
2220 $
CALL derrgg( c3, nout )
2221 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2223 CALL ddrgsx( nn, ncmax, thresh, nin, nout, a( 1, 1 ), nmax,
2224 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2225 $ a( 1, 6 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
2226 $ c( 1, 1 ), ncmax*ncmax, a( 1, 12 ), work,
2227 $ lwork, iwork, liwork, logwrk, info )
2229 $
WRITE( nout, fmt = 9980 )
'DDRGSX', info
2231 WRITE( nout, fmt = 9973 )
2234 ELSE IF( lsamen( 3, c3,
'DGV' ) )
THEN
2242 ntypes = min( maxtyp, ntypes )
2243 IF( ntypes.LE.0 )
THEN
2244 WRITE( nout, fmt = 9990 )c3
2247 $
CALL derrgg( c3, nout )
2248 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2249 CALL ddrgev( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2250 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2251 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2252 $ a( 1, 9 ), nmax, d( 1, 1 ), d( 1, 2 ),
2253 $ d( 1, 3 ), d( 1, 4 ), d( 1, 5 ), d( 1, 6 ),
2254 $ work, lwork, result, info )
2256 $
WRITE( nout, fmt = 9980 )
'DDRGEV', info
2260 CALL ddrgev3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2261 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2262 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2263 $ a( 1, 9 ), nmax, d( 1, 1 ), d( 1, 2 ),
2264 $ d( 1, 3 ), d( 1, 4 ), d( 1, 5 ), d( 1, 6 ),
2265 $ work, lwork, result, info )
2267 $
WRITE( nout, fmt = 9980 )
'DDRGEV3', info
2269 WRITE( nout, fmt = 9973 )
2282 WRITE( nout, fmt = 9990 )c3
2285 $
CALL derrgg( c3, nout )
2286 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2287 CALL ddrgvx( nn, thresh, nin, nout, a( 1, 1 ), nmax,
2288 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), d( 1, 1 ),
2289 $ d( 1, 2 ), d( 1, 3 ), a( 1, 5 ), a( 1, 6 ),
2290 $ iwork( 1 ), iwork( 2 ), d( 1, 4 ), d( 1, 5 ),
2291 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
2292 $ work, lwork, iwork( 3 ), liwork-2, result,
2296 $
WRITE( nout, fmt = 9980 )
'DDRGVX', info
2298 WRITE( nout, fmt = 9973 )
2301 ELSE IF( lsamen( 3, c3,
'DSB' ) )
THEN
2308 ntypes = min( maxtyp, ntypes )
2309 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2311 $
CALL derrst(
'DSB', nout )
2315 CALL dchksb2stg( nn, nval, nk, kval, maxtyp, dotype, iseed,
2316 $ thresh, nout, a( 1, 1 ), nmax, d( 1, 1 ),
2317 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), d( 1, 5 ),
2318 $ a( 1, 2 ), nmax, work, lwork, result, info )
2320 $
WRITE( nout, fmt = 9980 )
'DCHKSB', info
2322 ELSE IF( lsamen( 3, c3,
'DBB' ) )
THEN
2329 ntypes = min( maxtyp, ntypes )
2330 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2331 DO 370 i = 1, nparms
2334 IF( newsd.EQ.0 )
THEN
2336 iseed( k ) = ioldsd( k )
2339 WRITE( nout, fmt = 9966 )c3, nrhs
2340 CALL dchkbb( nn, mval, nval, nk, kval, maxtyp, dotype, nrhs,
2341 $ iseed, thresh, nout, a( 1, 1 ), nmax,
2342 $ a( 1, 2 ), 2*nmax, d( 1, 1 ), d( 1, 2 ),
2343 $ a( 1, 4 ), nmax, a( 1, 5 ), nmax, a( 1, 6 ),
2344 $ nmax, a( 1, 7 ), work, lwork, result, info )
2346 $
WRITE( nout, fmt = 9980 )
'DCHKBB', info
2349 ELSE IF( lsamen( 3, c3,
'GLM' ) )
THEN
2357 $
CALL derrgg(
'GLM', nout )
2358 CALL dckglm( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2359 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2360 $ work, d( 1, 1 ), nin, nout, info )
2362 $
WRITE( nout, fmt = 9980 )
'DCKGLM', info
2364 ELSE IF( lsamen( 3, c3,
'GQR' ) )
THEN
2372 $
CALL derrgg(
'GQR', nout )
2373 CALL dckgqr( nn, mval, nn, pval, nn, nval, ntypes, iseed,
2374 $ thresh, nmax, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
2375 $ a( 1, 4 ), taua, b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
2376 $ b( 1, 4 ), b( 1, 5 ), taub, work, d( 1, 1 ), nin,
2379 $
WRITE( nout, fmt = 9980 )
'DCKGQR', info
2381 ELSE IF( lsamen( 3, c3,
'GSV' ) )
THEN
2389 $
CALL derrgg(
'GSV', nout )
2390 CALL dckgsv( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2391 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
2392 $ a( 1, 3 ), b( 1, 3 ), a( 1, 4 ), taua, taub,
2393 $ b( 1, 4 ), iwork, work, d( 1, 1 ), nin, nout,
2396 $
WRITE( nout, fmt = 9980 )
'DCKGSV', info
2398 ELSE IF( lsamen( 3, c3,
'CSD' ) )
THEN
2406 $
CALL derrgg(
'CSD', nout )
2407 CALL dckcsd( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2408 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), a( 1, 4 ),
2409 $ a( 1, 5 ), a( 1, 6 ), a( 1, 7 ), iwork, work,
2410 $ d( 1, 1 ), nin, nout, info )
2412 $
WRITE( nout, fmt = 9980 )
'DCKCSD', info
2414 ELSE IF( lsamen( 3, c3,
'LSE' ) )
THEN
2422 $
CALL derrgg(
'LSE', nout )
2423 CALL dcklse( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2424 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2425 $ work, d( 1, 1 ), nin, nout, info )
2427 $
WRITE( nout, fmt = 9980 )
'DCKLSE', info
2430 WRITE( nout, fmt = * )
2431 WRITE( nout, fmt = * )
2432 WRITE( nout, fmt = 9992 )c3
2434 IF( .NOT.( dgx .OR. dxv ) )
2437 WRITE( nout, fmt = 9994 )
2439 WRITE( nout, fmt = 9993 )s2 - s1
2441 9999
FORMAT( /
' Execution not attempted due to input errors' )
2442 9997
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4 )
2443 9996
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NS =', i4,
2444 $
', MAXB =', i4,
', IACC22 =', i4,
', NBCOL =', i4 )
2445 9995
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2447 9994
FORMAT( / /
' End of tests' )
2448 9993
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
2449 9992
FORMAT( 1x, a3,
': Unrecognized path name' )
2450 9991
FORMAT( / /
' *** Invalid integer value in column ', i2,
2451 $
' of input',
' line:', / a79 )
2452 9990
FORMAT( / / 1x, a3,
' routines were not tested' )
2453 9989
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be >=',
2455 9988
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be <=',
2457 9987
FORMAT(
' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2458 9986
FORMAT(
' Tests of the Symmetric Eigenvalue Problem routines' )
2459 9985
FORMAT(
' Tests of the Singular Value Decomposition routines' )
2460 9984
FORMAT( /
' The following parameter values will be used:' )
2461 9983
FORMAT( 4x, a, 10i6, / 10x, 10i6 )
2462 9982
FORMAT( /
' Routines pass computational tests if test ratio is ',
2463 $
'less than', f8.2, / )
2464 9981
FORMAT(
' Relative machine ', a,
' is taken to be', d16.6 )
2465 9980
FORMAT(
' *** Error code from ', a,
' = ', i4 )
2466 9979
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2467 $ /
' DGEEV (eigenvalues and eigevectors)' )
2468 9978
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2469 $ /
' DGEES (Schur form)' )
2470 9977
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2471 $
' Driver', /
' DGEEVX (eigenvalues, eigenvectors and',
2472 $
' condition numbers)' )
2473 9976
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2474 $
' Driver', /
' DGEESX (Schur form and condition',
2476 9975
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2477 $
'Problem routines' )
2478 9974
FORMAT(
' Tests of DSBTRD', /
' (reduction of a symmetric band ',
2479 $
'matrix to tridiagonal form)' )
2480 9973
FORMAT( / 1x, 71(
'-' ) )
2481 9972
FORMAT( /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1 )
2482 9971
FORMAT( /
' Tests of the Generalized Linear Regression Model ',
2484 9970
FORMAT( /
' Tests of the Generalized QR and RQ routines' )
2485 9969
FORMAT( /
' Tests of the Generalized Singular Value',
2486 $
' Decomposition routines' )
2487 9968
FORMAT( /
' Tests of the Linear Least Squares routines' )
2488 9967
FORMAT(
' Tests of DGBBRD', /
' (reduction of a general band ',
2489 $
'matrix to real bidiagonal form)' )
2490 9966
FORMAT( / / 1x, a3,
': NRHS =', i4 )
2491 9965
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2492 $
'Problem Expert Driver DGGESX' )
2493 9964
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2494 $
'Problem Driver DGGES' )
2495 9963
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2496 $
'Problem Driver DGGEV' )
2497 9962
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2498 $
'Problem Expert Driver DGGEVX' )
2499 9961
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2501 $
', INWIN =', i4,
', INIBL =', i4,
', ISHFTS =', i4,
2503 9960
FORMAT( /
' Tests of the CS Decomposition routines' )
subroutine ddrvbd(NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, A, LDA, U, LDU, VT, LDVT, ASAV, USAV, VTSAV, S, SSAV, E, WORK, LWORK, IWORK, NOUT, INFO)
DDRVBD
subroutine dckgsv(NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, U, V, Q, ALPHA, BETA, R, IWORK, WORK, RWORK, NIN, NOUT, INFO)
DCKGSV
subroutine dchkbd(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, IWORK, NOUT, INFO)
DCHKBD
subroutine ddrges3(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHAR, ALPHAI, BETA, WORK, LWORK, RESULT, BWORK, INFO)
DDRGES3
subroutine dchkgl(NIN, NOUT)
DCHKGL
subroutine dckgqr(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)
DCKGQR
subroutine ddrvev(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, WR, WI, WR1, WI1, VL, LDVL, VR, LDVR, LRE, LDLRE, RESULT, WORK, NWORK, IWORK, INFO)
DDRVEV
subroutine ddrges(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHAR, ALPHAI, BETA, WORK, LWORK, RESULT, BWORK, INFO)
DDRGES
subroutine dchkec(THRESH, TSTERR, NIN, NOUT)
DCHKEC
subroutine ddrvsg2stg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, LDB, D, D2, Z, LDZ, AB, BB, AP, BP, WORK, NWORK, IWORK, LIWORK, RESULT, INFO)
DDRVSG2STG
subroutine dchkst(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, IWORK, LIWORK, RESULT, INFO)
DCHKST
subroutine dcklse(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
DCKLSE
subroutine dckglm(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
DCKGLM
subroutine dchkgg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, TSTDIF, THRSHN, NOUNIT, A, LDA, B, H, T, S1, S2, P1, P2, U, LDU, V, Q, Z, ALPHR1, ALPHI1, BETA1, ALPHR3, ALPHI3, BETA3, EVECTL, EVECTR, WORK, LWORK, LLWORK, RESULT, INFO)
DCHKGG
subroutine dchkbb(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, RESULT, INFO)
DCHKBB
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine ddrvsg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, LDB, D, Z, LDZ, AB, BB, AP, BP, WORK, NWORK, IWORK, LIWORK, RESULT, INFO)
DDRVSG
subroutine dchkhs(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, T1, T2, U, LDU, Z, UZ, WR1, WI1, WR2, WI2, WR3, WI3, EVECTL, EVECTR, EVECTY, EVECTX, UU, TAU, WORK, NWORK, IWORK, SELECT, RESULT, INFO)
DCHKHS
subroutine dckcsd(NM, MVAL, PVAL, QVAL, NMATS, ISEED, THRESH, MMAX, X, XF, U1, U2, V1T, V2T, THETA, IWORK, WORK, RWORK, NIN, NOUT, INFO)
DCKCSD
subroutine xlaenv(ISPEC, NVALUE)
XLAENV
subroutine dchksb(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, U, LDU, WORK, LWORK, RESULT, INFO)
DCHKSB
subroutine ddrgev3(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, QE, LDQE, ALPHAR, ALPHAI, BETA, ALPHR1, ALPHI1, BETA1, WORK, LWORK, RESULT, INFO)
DDRGEV3
subroutine derred(PATH, NUNIT)
DERRED
subroutine ddrves(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, HT, WR, WI, WRT, WIT, VS, LDVS, RESULT, WORK, NWORK, IWORK, BWORK, INFO)
DDRVES
subroutine derrbd(PATH, NUNIT)
DERRBD
subroutine ddrvsx(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NIUNIT, NOUNIT, A, LDA, H, HT, WR, WI, WRT, WIT, WRTMP, WITMP, VS, LDVS, VS1, RESULT, WORK, LWORK, IWORK, BWORK, INFO)
DDRVSX
subroutine derrgg(PATH, NUNIT)
DERRGG
subroutine ddrvst2stg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, D1, D2, D3, D4, EVEIGS, WA1, WA2, WA3, U, LDU, V, TAU, Z, WORK, LWORK, IWORK, LIWORK, RESULT, INFO)
DDRVST2STG
subroutine dchkst2stg(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, IWORK, LIWORK, RESULT, INFO)
DCHKST2STG
subroutine derrst(PATH, NUNIT)
DERRST
subroutine ddrgvx(NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, ALPHAR, ALPHAI, BETA, VL, VR, ILO, IHI, LSCALE, RSCALE, S, DTRU, DIF, DIFTRU, WORK, LWORK, IWORK, LIWORK, RESULT, BWORK, INFO)
DDRGVX
subroutine ddrgev(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, QE, LDQE, ALPHAR, ALPHAI, BETA, ALPHR1, ALPHI1, BETA1, WORK, LWORK, RESULT, INFO)
DDRGEV
subroutine dchkbl(NIN, NOUT)
DCHKBL
subroutine derrhs(PATH, NUNIT)
DERRHS
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine dchkgk(NIN, NOUT)
DCHKGK
subroutine ddrvvx(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NIUNIT, NOUNIT, A, LDA, H, WR, WI, WR1, WI1, VL, LDVL, VR, LDVR, LRE, LDLRE, RCONDV, RCNDV1, RCDVIN, RCONDE, RCNDE1, RCDEIN, SCALE, SCALE1, RESULT, WORK, NWORK, IWORK, INFO)
DDRVVX
subroutine dchksb2stg(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, D1, D2, D3, U, LDU, WORK, LWORK, RESULT, INFO)
DCHKSBSTG
subroutine dchkbk(NIN, NOUT)
DCHKBK
subroutine ddrgsx(NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, AI, BI, Z, Q, ALPHAR, ALPHAI, BETA, C, LDC, S, WORK, LWORK, IWORK, LIWORK, BWORK, INFO)
DDRGSX
subroutine ddrvst(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, D1, D2, D3, D4, EVEIGS, WA1, WA2, WA3, U, LDU, V, TAU, Z, WORK, LWORK, IWORK, LIWORK, RESULT, INFO)
DDRVST