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, FATAL, GLM, GQR, GSV, LSE, NEP, SBB, SBK,
1070 $ sbl, sep, ses, sev, sgg, sgk, sgl, sgs, sgv,
1071 $ sgx, ssb, ssx, svd, svx, sxv, 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 REAL 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 REAL 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 )
1100 EXTERNAL lsamen, second, slamch
1117 INTEGER INFOT, MAXB, NPROC, NSHIFT, NUNIT, SELDIM,
1121 LOGICAL SELVAL( 20 )
1122 INTEGER IPARMS( 100 )
1123 REAL SELWI( 20 ), SELWR( 20 )
1126 COMMON / cenvir / nproc, nshift, maxb
1127 COMMON / claenv / iparms
1128 COMMON / infoc / infot, nunit, ok, lerr
1129 COMMON / srnamc / srnamt
1130 COMMON / sslct / selopt, seldim, selval, selwr, selwi
1133 DATA intstr /
'0123456789' /
1134 DATA ioldsd / 0, 0, 0, 1 /
1152 READ( nin, fmt =
'(A80)', end = 380 )line
1154 nep = lsamen( 3, path,
'NEP' ) .OR. lsamen( 3, path,
'SHS' )
1155 sep = lsamen( 3, path,
'SEP' ) .OR. lsamen( 3, path,
'SST' ) .OR.
1156 $ lsamen( 3, path,
'SSG' )
1157 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'SBD' )
1158 sev = lsamen( 3, path,
'SEV' )
1159 ses = lsamen( 3, path,
'SES' )
1160 svx = lsamen( 3, path,
'SVX' )
1161 ssx = lsamen( 3, path,
'SSX' )
1162 sgg = lsamen( 3, path,
'SGG' )
1163 sgs = lsamen( 3, path,
'SGS' )
1164 sgx = lsamen( 3, path,
'SGX' )
1165 sgv = lsamen( 3, path,
'SGV' )
1166 sxv = lsamen( 3, path,
'SXV' )
1167 ssb = lsamen( 3, path,
'SSB' )
1168 sbb = lsamen( 3, path,
'SBB' )
1169 glm = lsamen( 3, path,
'GLM' )
1170 gqr = lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' )
1171 gsv = lsamen( 3, path,
'GSV' )
1172 csd = lsamen( 3, path,
'CSD' )
1173 lse = lsamen( 3, path,
'LSE' )
1174 sbl = lsamen( 3, path,
'SBL' )
1175 sbk = lsamen( 3, path,
'SBK' )
1176 sgl = lsamen( 3, path,
'SGL' )
1177 sgk = lsamen( 3, path,
'SGK' )
1181 IF( path.EQ.
' ' )
THEN
1184 WRITE( nout, fmt = 9987 )
1186 WRITE( nout, fmt = 9986 )
1188 WRITE( nout, fmt = 9985 )
1190 WRITE( nout, fmt = 9979 )
1192 WRITE( nout, fmt = 9978 )
1194 WRITE( nout, fmt = 9977 )
1196 WRITE( nout, fmt = 9976 )
1198 WRITE( nout, fmt = 9975 )
1200 WRITE( nout, fmt = 9964 )
1202 WRITE( nout, fmt = 9965 )
1204 WRITE( nout, fmt = 9963 )
1206 WRITE( nout, fmt = 9962 )
1208 WRITE( nout, fmt = 9974 )
1210 WRITE( nout, fmt = 9967 )
1212 WRITE( nout, fmt = 9971 )
1214 WRITE( nout, fmt = 9970 )
1216 WRITE( nout, fmt = 9969 )
1218 WRITE( nout, fmt = 9960 )
1220 WRITE( nout, fmt = 9968 )
1245 ELSE IF( lsamen( 3, path,
'SEC' ) )
THEN
1249 READ( nin, fmt = * )thresh
1257 CALL schkec( thresh, tsterr, nin, nout )
1260 WRITE( nout, fmt = 9992 )path
1263 CALL ilaver( vers_major, vers_minor, vers_patch )
1264 WRITE( nout, fmt = 9972 ) vers_major, vers_minor, vers_patch
1265 WRITE( nout, fmt = 9984 )
1269 READ( nin, fmt = * )nn
1271 WRITE( nout, fmt = 9989 )
' NN ', nn, 1
1274 ELSE IF( nn.GT.maxin )
THEN
1275 WRITE( nout, fmt = 9988 )
' NN ', nn, maxin
1282 IF( .NOT.( sgx .OR. sxv ) )
THEN
1283 READ( nin, fmt = * )( mval( i ), i = 1, nn )
1290 IF( mval( i ).LT.0 )
THEN
1291 WRITE( nout, fmt = 9989 )vname, mval( i ), 0
1293 ELSE IF( mval( i ).GT.nmax )
THEN
1294 WRITE( nout, fmt = 9988 )vname, mval( i ), nmax
1298 WRITE( nout, fmt = 9983 )
'M: ', ( mval( i ), i = 1, nn )
1303 IF( glm .OR. gqr .OR. gsv .OR. csd .OR. lse )
THEN
1304 READ( nin, fmt = * )( pval( i ), i = 1, nn )
1306 IF( pval( i ).LT.0 )
THEN
1307 WRITE( nout, fmt = 9989 )
' P ', pval( i ), 0
1309 ELSE IF( pval( i ).GT.nmax )
THEN
1310 WRITE( nout, fmt = 9988 )
' P ', pval( i ), nmax
1314 WRITE( nout, fmt = 9983 )
'P: ', ( pval( i ), i = 1, nn )
1319 IF( svd .OR. sbb .OR. glm .OR. gqr .OR. gsv .OR. csd .OR.
1321 READ( nin, fmt = * )( nval( i ), i = 1, nn )
1323 IF( nval( i ).LT.0 )
THEN
1324 WRITE( nout, fmt = 9989 )
' N ', nval( i ), 0
1326 ELSE IF( nval( i ).GT.nmax )
THEN
1327 WRITE( nout, fmt = 9988 )
' N ', nval( i ), nmax
1333 nval( i ) = mval( i )
1336 IF( .NOT.( sgx .OR. sxv ) )
THEN
1337 WRITE( nout, fmt = 9983 )
'N: ', ( nval( i ), i = 1, nn )
1339 WRITE( nout, fmt = 9983 )
'N: ', nn
1344 IF( ssb .OR. sbb )
THEN
1345 READ( nin, fmt = * )nk
1346 READ( nin, fmt = * )( kval( i ), i = 1, nk )
1348 IF( kval( i ).LT.0 )
THEN
1349 WRITE( nout, fmt = 9989 )
' K ', kval( i ), 0
1351 ELSE IF( kval( i ).GT.nmax )
THEN
1352 WRITE( nout, fmt = 9988 )
' K ', kval( i ), nmax
1356 WRITE( nout, fmt = 9983 )
'K: ', ( kval( i ), i = 1, nk )
1359 IF( sev .OR. ses .OR. svx .OR. ssx )
THEN
1364 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1365 $ inmin( 1 ), inwin( 1 ), inibl(1), ishfts(1), iacc22(1)
1366 IF( nbval( 1 ).LT.1 )
THEN
1367 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1369 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1370 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1372 ELSE IF( nxval( 1 ).LT.1 )
THEN
1373 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1375 ELSE IF( inmin( 1 ).LT.1 )
THEN
1376 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( 1 ), 1
1378 ELSE IF( inwin( 1 ).LT.1 )
THEN
1379 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( 1 ), 1
1381 ELSE IF( inibl( 1 ).LT.1 )
THEN
1382 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( 1 ), 1
1384 ELSE IF( ishfts( 1 ).LT.1 )
THEN
1385 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( 1 ), 1
1387 ELSE IF( iacc22( 1 ).LT.0 )
THEN
1388 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( 1 ), 0
1391 CALL xlaenv( 1, nbval( 1 ) )
1392 CALL xlaenv( 2, nbmin( 1 ) )
1393 CALL xlaenv( 3, nxval( 1 ) )
1394 CALL xlaenv(12, max( 11, inmin( 1 ) ) )
1395 CALL xlaenv(13, inwin( 1 ) )
1396 CALL xlaenv(14, inibl( 1 ) )
1397 CALL xlaenv(15, ishfts( 1 ) )
1398 CALL xlaenv(16, iacc22( 1 ) )
1399 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1400 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1401 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1402 WRITE( nout, fmt = 9983 )
'INMIN: ', inmin( 1 )
1403 WRITE( nout, fmt = 9983 )
'INWIN: ', inwin( 1 )
1404 WRITE( nout, fmt = 9983 )
'INIBL: ', inibl( 1 )
1405 WRITE( nout, fmt = 9983 )
'ISHFTS: ', ishfts( 1 )
1406 WRITE( nout, fmt = 9983 )
'IACC22: ', iacc22( 1 )
1408 ELSE IF( sgs .OR. sgx .OR. sgv .OR. sxv )
THEN
1413 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1414 $ nsval( 1 ), mxbval( 1 )
1415 IF( nbval( 1 ).LT.1 )
THEN
1416 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1418 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1419 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1421 ELSE IF( nxval( 1 ).LT.1 )
THEN
1422 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1424 ELSE IF( nsval( 1 ).LT.2 )
THEN
1425 WRITE( nout, fmt = 9989 )
' NS ', nsval( 1 ), 2
1427 ELSE IF( mxbval( 1 ).LT.1 )
THEN
1428 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( 1 ), 1
1431 CALL xlaenv( 1, nbval( 1 ) )
1432 CALL xlaenv( 2, nbmin( 1 ) )
1433 CALL xlaenv( 3, nxval( 1 ) )
1434 CALL xlaenv( 4, nsval( 1 ) )
1435 CALL xlaenv( 8, mxbval( 1 ) )
1436 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1437 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1438 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1439 WRITE( nout, fmt = 9983 )
'NS: ', nsval( 1 )
1440 WRITE( nout, fmt = 9983 )
'MAXB: ', mxbval( 1 )
1442 ELSE IF( .NOT.ssb .AND. .NOT.glm .AND. .NOT.gqr .AND. .NOT.
1443 $ gsv .AND. .NOT.csd .AND. .NOT.lse )
THEN
1448 READ( nin, fmt = * )nparms
1449 IF( nparms.LT.1 )
THEN
1450 WRITE( nout, fmt = 9989 )
'NPARMS', nparms, 1
1453 ELSE IF( nparms.GT.maxin )
THEN
1454 WRITE( nout, fmt = 9988 )
'NPARMS', nparms, maxin
1462 READ( nin, fmt = * )( nbval( i ), i = 1, nparms )
1464 IF( nbval( i ).LT.0 )
THEN
1465 WRITE( nout, fmt = 9989 )
' NB ', nbval( i ), 0
1467 ELSE IF( nbval( i ).GT.nmax )
THEN
1468 WRITE( nout, fmt = 9988 )
' NB ', nbval( i ), nmax
1472 WRITE( nout, fmt = 9983 )
'NB: ',
1473 $ ( nbval( i ), i = 1, nparms )
1478 IF( nep .OR. sep .OR. svd .OR. sgg )
THEN
1479 READ( nin, fmt = * )( nbmin( i ), i = 1, nparms )
1481 IF( nbmin( i ).LT.0 )
THEN
1482 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( i ), 0
1484 ELSE IF( nbmin( i ).GT.nmax )
THEN
1485 WRITE( nout, fmt = 9988 )
'NBMIN ', nbmin( i ), nmax
1489 WRITE( nout, fmt = 9983 )
'NBMIN:',
1490 $ ( nbmin( i ), i = 1, nparms )
1499 IF( nep .OR. sep .OR. svd )
THEN
1500 READ( nin, fmt = * )( nxval( i ), i = 1, nparms )
1501 DO 100 i = 1, nparms
1502 IF( nxval( i ).LT.0 )
THEN
1503 WRITE( nout, fmt = 9989 )
' NX ', nxval( i ), 0
1505 ELSE IF( nxval( i ).GT.nmax )
THEN
1506 WRITE( nout, fmt = 9988 )
' NX ', nxval( i ), nmax
1510 WRITE( nout, fmt = 9983 )
'NX: ',
1511 $ ( nxval( i ), i = 1, nparms )
1513 DO 110 i = 1, nparms
1521 IF( svd .OR. sbb .OR. sgg )
THEN
1522 READ( nin, fmt = * )( nsval( i ), i = 1, nparms )
1523 DO 120 i = 1, nparms
1524 IF( nsval( i ).LT.0 )
THEN
1525 WRITE( nout, fmt = 9989 )
' NS ', nsval( i ), 0
1527 ELSE IF( nsval( i ).GT.nmax )
THEN
1528 WRITE( nout, fmt = 9988 )
' NS ', nsval( i ), nmax
1532 WRITE( nout, fmt = 9983 )
'NS: ',
1533 $ ( nsval( i ), i = 1, nparms )
1535 DO 130 i = 1, nparms
1543 READ( nin, fmt = * )( mxbval( i ), i = 1, nparms )
1544 DO 140 i = 1, nparms
1545 IF( mxbval( i ).LT.0 )
THEN
1546 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( i ), 0
1548 ELSE IF( mxbval( i ).GT.nmax )
THEN
1549 WRITE( nout, fmt = 9988 )
' MAXB ', mxbval( i ), nmax
1553 WRITE( nout, fmt = 9983 )
'MAXB: ',
1554 $ ( mxbval( i ), i = 1, nparms )
1556 DO 150 i = 1, nparms
1564 READ( nin, fmt = * )( inmin( i ), i = 1, nparms )
1565 DO 540 i = 1, nparms
1566 IF( inmin( i ).LT.0 )
THEN
1567 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( i ), 0
1571 WRITE( nout, fmt = 9983 )
'INMIN: ',
1572 $ ( inmin( i ), i = 1, nparms )
1574 DO 550 i = 1, nparms
1582 READ( nin, fmt = * )( inwin( i ), i = 1, nparms )
1583 DO 560 i = 1, nparms
1584 IF( inwin( i ).LT.0 )
THEN
1585 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( i ), 0
1589 WRITE( nout, fmt = 9983 )
'INWIN: ',
1590 $ ( inwin( i ), i = 1, nparms )
1592 DO 570 i = 1, nparms
1600 READ( nin, fmt = * )( inibl( i ), i = 1, nparms )
1601 DO 580 i = 1, nparms
1602 IF( inibl( i ).LT.0 )
THEN
1603 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( i ), 0
1607 WRITE( nout, fmt = 9983 )
'INIBL: ',
1608 $ ( inibl( i ), i = 1, nparms )
1610 DO 590 i = 1, nparms
1618 READ( nin, fmt = * )( ishfts( i ), i = 1, nparms )
1619 DO 600 i = 1, nparms
1620 IF( ishfts( i ).LT.0 )
THEN
1621 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( i ), 0
1625 WRITE( nout, fmt = 9983 )
'ISHFTS: ',
1626 $ ( ishfts( i ), i = 1, nparms )
1628 DO 610 i = 1, nparms
1635 IF( nep .OR. sgg )
THEN
1636 READ( nin, fmt = * )( iacc22( i ), i = 1, nparms )
1637 DO 620 i = 1, nparms
1638 IF( iacc22( i ).LT.0 )
THEN
1639 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( i ), 0
1643 WRITE( nout, fmt = 9983 )
'IACC22: ',
1644 $ ( iacc22( i ), i = 1, nparms )
1646 DO 630 i = 1, nparms
1654 READ( nin, fmt = * )( nbcol( i ), i = 1, nparms )
1655 DO 160 i = 1, nparms
1656 IF( nbcol( i ).LT.0 )
THEN
1657 WRITE( nout, fmt = 9989 )
'NBCOL ', nbcol( i ), 0
1659 ELSE IF( nbcol( i ).GT.nmax )
THEN
1660 WRITE( nout, fmt = 9988 )
'NBCOL ', nbcol( i ), nmax
1664 WRITE( nout, fmt = 9983 )
'NBCOL:',
1665 $ ( nbcol( i ), i = 1, nparms )
1667 DO 170 i = 1, nparms
1675 WRITE( nout, fmt = * )
1676 eps = slamch(
'Underflow threshold' )
1677 WRITE( nout, fmt = 9981 )
'underflow', eps
1678 eps = slamch(
'Overflow threshold' )
1679 WRITE( nout, fmt = 9981 )
'overflow ', eps
1680 eps = slamch(
'Epsilon' )
1681 WRITE( nout, fmt = 9981 )
'precision', eps
1685 READ( nin, fmt = * )thresh
1686 WRITE( nout, fmt = 9982 )thresh
1687 IF( sep .OR. svd .OR. sgg )
THEN
1691 READ( nin, fmt = * )tstchk
1695 READ( nin, fmt = * )tstdrv
1700 READ( nin, fmt = * )tsterr
1704 READ( nin, fmt = * )newsd
1709 $
READ( nin, fmt = * )( ioldsd( i ), i = 1, 4 )
1712 iseed( i ) = ioldsd( i )
1716 WRITE( nout, fmt = 9999 )
1727 IF( .NOT.( sgx .OR. sxv ) )
THEN
1730 READ( nin, fmt =
'(A80)', end = 380 )line
1738 IF( i.GT.lenp )
THEN
1746 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN
1753 IF( c1.EQ.intstr( k: k ) )
THEN
1758 WRITE( nout, fmt = 9991 )i, line
1763 ELSE IF( i1.GT.0 )
THEN
1773 IF( .NOT.( sev .OR. ses .OR. svx .OR. ssx .OR. sgv .OR.
1774 $ sgs ) .AND. ntypes.LE.0 )
THEN
1775 WRITE( nout, fmt = 9990 )c3
1788 IF( newsd.EQ.0 )
THEN
1790 iseed( k ) = ioldsd( k )
1794 IF( lsamen( 3, c3,
'SHS' ) .OR. lsamen( 3, c3,
'NEP' ) )
THEN
1807 ntypes = min( maxtyp, ntypes )
1808 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1811 $
CALL serrhs(
'SHSEQR', nout )
1812 DO 270 i = 1, nparms
1813 CALL xlaenv( 1, nbval( i ) )
1814 CALL xlaenv( 2, nbmin( i ) )
1815 CALL xlaenv( 3, nxval( i ) )
1816 CALL xlaenv(12, max( 11, inmin( i ) ) )
1817 CALL xlaenv(13, inwin( i ) )
1818 CALL xlaenv(14, inibl( i ) )
1819 CALL xlaenv(15, ishfts( i ) )
1820 CALL xlaenv(16, iacc22( i ) )
1822 IF( newsd.EQ.0 )
THEN
1824 iseed( k ) = ioldsd( k )
1827 WRITE( nout, fmt = 9961 )c3, nbval( i ), nbmin( i ),
1828 $ nxval( i ), max( 11, inmin(i)),
1829 $ inwin( i ), inibl( i ), ishfts( i ), iacc22( i )
1830 CALL schkhs( nn, nval, maxtyp, dotype, iseed, thresh, nout,
1831 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
1832 $ a( 1, 4 ), a( 1, 5 ), nmax, a( 1, 6 ),
1833 $ a( 1, 7 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
1834 $ d( 1, 4 ), d( 1, 5 ), d( 1, 6 ), a( 1, 8 ),
1835 $ a( 1, 9 ), a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
1836 $ d( 1, 7 ), work, lwork, iwork, logwrk, result,
1839 $
WRITE( nout, fmt = 9980 )
'SCHKHS', info
1842 ELSE IF( lsamen( 3, c3,
'SST' ) .OR. lsamen( 3, c3,
'SEP' ) )
THEN
1853 ntypes = min( maxtyp, ntypes )
1854 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1858 $
CALL serrst(
'SST', nout )
1859 DO 290 i = 1, nparms
1860 CALL xlaenv( 1, nbval( i ) )
1861 CALL xlaenv( 2, nbmin( i ) )
1862 CALL xlaenv( 3, nxval( i ) )
1864 IF( newsd.EQ.0 )
THEN
1866 iseed( k ) = ioldsd( k )
1869 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1872 CALL schkst( nn, nval, maxtyp, dotype, iseed, thresh,
1873 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
1874 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), d( 1, 5 ),
1875 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
1876 $ d( 1, 10 ), d( 1, 11 ), a( 1, 3 ), nmax,
1877 $ a( 1, 4 ), a( 1, 5 ), d( 1, 12 ), a( 1, 6 ),
1878 $ work, lwork, iwork, liwork, result, info )
1880 $
WRITE( nout, fmt = 9980 )
'SCHKST', info
1883 CALL sdrvst( nn, nval, 18, dotype, iseed, thresh,
1884 $ nout, a( 1, 1 ), nmax, d( 1, 3 ), d( 1, 4 ),
1885 $ d( 1, 5 ), d( 1, 6 ), d( 1, 8 ), d( 1, 9 ),
1886 $ d( 1, 10 ), d( 1, 11), a( 1, 2 ), nmax,
1887 $ a( 1, 3 ), d( 1, 12 ), a( 1, 4 ), work,
1888 $ lwork, iwork, liwork, result, info )
1890 $
WRITE( nout, fmt = 9980 )
'SDRVST', info
1894 ELSE IF( lsamen( 3, c3,
'SSG' ) )
THEN
1905 ntypes = min( maxtyp, ntypes )
1906 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1908 DO 310 i = 1, nparms
1909 CALL xlaenv( 1, nbval( i ) )
1910 CALL xlaenv( 2, nbmin( i ) )
1911 CALL xlaenv( 3, nxval( i ) )
1913 IF( newsd.EQ.0 )
THEN
1915 iseed( k ) = ioldsd( k )
1918 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1921 CALL sdrvsg( nn, nval, maxtyp, dotype, iseed, thresh,
1922 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1923 $ d( 1, 3 ), a( 1, 3 ), nmax, a( 1, 4 ),
1924 $ a( 1, 5 ), a( 1, 6 ), a( 1, 7 ), work,
1925 $ lwork, iwork, liwork, result, info )
1927 $
WRITE( nout, fmt = 9980 )
'SDRVSG', info
1931 ELSE IF( lsamen( 3, c3,
'SBD' ) .OR. lsamen( 3, c3,
'SVD' ) )
THEN
1943 ntypes = min( maxtyp, ntypes )
1944 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1950 IF( tsterr .AND. tstchk )
1951 $
CALL serrbd(
'SBD', nout )
1952 IF( tsterr .AND. tstdrv )
1953 $
CALL serred(
'SBD', nout )
1955 DO 330 i = 1, nparms
1957 CALL xlaenv( 1, nbval( i ) )
1958 CALL xlaenv( 2, nbmin( i ) )
1959 CALL xlaenv( 3, nxval( i ) )
1960 IF( newsd.EQ.0 )
THEN
1962 iseed( k ) = ioldsd( k )
1965 WRITE( nout, fmt = 9995 )c3, nbval( i ), nbmin( i ),
1968 CALL schkbd( nn, mval, nval, maxtyp, dotype, nrhs, iseed,
1969 $ thresh, a( 1, 1 ), nmax, d( 1, 1 ),
1970 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 2 ),
1971 $ nmax, a( 1, 3 ), a( 1, 4 ), a( 1, 5 ), nmax,
1972 $ a( 1, 6 ), nmax, a( 1, 7 ), a( 1, 8 ), work,
1973 $ lwork, iwork, nout, info )
1975 $
WRITE( nout, fmt = 9980 )
'SCHKBD', info
1978 $
CALL sdrvbd( nn, mval, nval, maxtyp, dotype, iseed,
1979 $ thresh, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1980 $ a( 1, 3 ), nmax, a( 1, 4 ), a( 1, 5 ),
1981 $ a( 1, 6 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
1982 $ work, lwork, iwork, nout, info )
1985 ELSE IF( lsamen( 3, c3,
'SEV' ) )
THEN
1993 ntypes = min( maxtyp, ntypes )
1994 IF( ntypes.LE.0 )
THEN
1995 WRITE( nout, fmt = 9990 )c3
1998 $
CALL serred( c3, nout )
1999 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2000 CALL sdrvev( nn, nval, ntypes, dotype, iseed, thresh, nout,
2001 $ a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
2002 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 3 ),
2003 $ nmax, a( 1, 4 ), nmax, a( 1, 5 ), nmax, result,
2004 $ work, lwork, iwork, info )
2006 $
WRITE( nout, fmt = 9980 )
'SGEEV', info
2008 WRITE( nout, fmt = 9973 )
2011 ELSE IF( lsamen( 3, c3,
'SES' ) )
THEN
2019 ntypes = min( maxtyp, ntypes )
2020 IF( ntypes.LE.0 )
THEN
2021 WRITE( nout, fmt = 9990 )c3
2024 $
CALL serred( c3, nout )
2025 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2026 CALL sdrves( nn, nval, ntypes, dotype, iseed, thresh, nout,
2027 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2028 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2029 $ a( 1, 4 ), nmax, result, work, lwork, iwork,
2032 $
WRITE( nout, fmt = 9980 )
'SGEES', info
2034 WRITE( nout, fmt = 9973 )
2037 ELSE IF( lsamen( 3, c3,
'SVX' ) )
THEN
2045 ntypes = min( maxtyp, ntypes )
2046 IF( ntypes.LT.0 )
THEN
2047 WRITE( nout, fmt = 9990 )c3
2050 $
CALL serred( c3, nout )
2051 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2052 CALL sdrvvx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2053 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
2054 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 3 ),
2055 $ nmax, a( 1, 4 ), nmax, a( 1, 5 ), nmax,
2056 $ d( 1, 5 ), d( 1, 6 ), d( 1, 7 ), d( 1, 8 ),
2057 $ d( 1, 9 ), d( 1, 10 ), d( 1, 11 ), d( 1, 12 ),
2058 $ result, work, lwork, iwork, info )
2060 $
WRITE( nout, fmt = 9980 )
'SGEEVX', info
2062 WRITE( nout, fmt = 9973 )
2065 ELSE IF( lsamen( 3, c3,
'SSX' ) )
THEN
2073 ntypes = min( maxtyp, ntypes )
2074 IF( ntypes.LT.0 )
THEN
2075 WRITE( nout, fmt = 9990 )c3
2078 $
CALL serred( c3, nout )
2079 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2080 CALL sdrvsx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2081 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2082 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2083 $ d( 1, 5 ), d( 1, 6 ), a( 1, 4 ), nmax,
2084 $ a( 1, 5 ), result, work, lwork, iwork, logwrk,
2087 $
WRITE( nout, fmt = 9980 )
'SGEESX', info
2089 WRITE( nout, fmt = 9973 )
2092 ELSE IF( lsamen( 3, c3,
'SGG' ) )
THEN
2106 ntypes = min( maxtyp, ntypes )
2107 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2109 IF( tstchk .AND. tsterr )
2110 &
CALL serrgg( c3, nout )
2111 DO 350 i = 1, nparms
2112 CALL xlaenv( 1, nbval( i ) )
2113 CALL xlaenv( 2, nbmin( i ) )
2114 CALL xlaenv( 4, nsval( i ) )
2115 CALL xlaenv( 8, mxbval( i ) )
2116 CALL xlaenv( 16, iacc22( i ) )
2117 CALL xlaenv( 5, nbcol( i ) )
2119 IF( newsd.EQ.0 )
THEN
2121 iseed( k ) = ioldsd( k )
2124 WRITE( nout, fmt = 9996 )c3, nbval( i ), nbmin( i ),
2125 $ nsval( i ), mxbval( i ), iacc22( i ), nbcol( i )
2129 CALL schkgg( nn, nval, maxtyp, dotype, iseed, thresh,
2130 $ tstdif, thrshn, nout, a( 1, 1 ), nmax,
2131 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2132 $ a( 1, 6 ), a( 1, 7 ), a( 1, 8 ), a( 1, 9 ),
2133 $ nmax, a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
2134 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2135 $ d( 1, 5 ), d( 1, 6 ), a( 1, 13 ),
2136 $ a( 1, 14 ), work, lwork, logwrk, result,
2139 $
WRITE( nout, fmt = 9980 )
'SCHKGG', info
2143 ELSE IF( lsamen( 3, c3,
'SGS' ) )
THEN
2151 ntypes = min( maxtyp, ntypes )
2152 IF( ntypes.LE.0 )
THEN
2153 WRITE( nout, fmt = 9990 )c3
2156 $
CALL serrgg( c3, nout )
2157 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2158 CALL sdrges( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2159 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2160 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2161 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), work, lwork,
2162 $ result, logwrk, info )
2165 $
WRITE( nout, fmt = 9980 )
'SDRGES', info
2170 CALL sdrges3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2171 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2172 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2173 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), work, lwork,
2174 $ result, logwrk, info )
2177 $
WRITE( nout, fmt = 9980 )
'SDRGES3', info
2179 WRITE( nout, fmt = 9973 )
2192 WRITE( nout, fmt = 9990 )c3
2195 $
CALL serrgg( c3, nout )
2196 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2198 CALL sdrgsx( nn, ncmax, thresh, nin, nout, a( 1, 1 ), nmax,
2199 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2200 $ a( 1, 6 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
2201 $ c( 1, 1 ), ncmax*ncmax, a( 1, 12 ), work,
2202 $ lwork, iwork, liwork, logwrk, info )
2204 $
WRITE( nout, fmt = 9980 )
'SDRGSX', info
2206 WRITE( nout, fmt = 9973 )
2209 ELSE IF( lsamen( 3, c3,
'SGV' ) )
THEN
2217 ntypes = min( maxtyp, ntypes )
2218 IF( ntypes.LE.0 )
THEN
2219 WRITE( nout, fmt = 9990 )c3
2222 $
CALL serrgg( c3, nout )
2223 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2224 CALL sdrgev( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2225 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2226 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2227 $ a( 1, 9 ), nmax, d( 1, 1 ), d( 1, 2 ),
2228 $ d( 1, 3 ), d( 1, 4 ), d( 1, 5 ), d( 1, 6 ),
2229 $ work, lwork, result, info )
2231 $
WRITE( nout, fmt = 9980 )
'SDRGEV', info
2235 CALL sdrgev3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2236 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2237 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2238 $ a( 1, 9 ), nmax, d( 1, 1 ), d( 1, 2 ),
2239 $ d( 1, 3 ), d( 1, 4 ), d( 1, 5 ), d( 1, 6 ),
2240 $ work, lwork, result, info )
2242 $
WRITE( nout, fmt = 9980 )
'SDRGEV3', info
2244 WRITE( nout, fmt = 9973 )
2257 WRITE( nout, fmt = 9990 )c3
2260 $
CALL serrgg( c3, nout )
2261 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2262 CALL sdrgvx( nn, thresh, nin, nout, a( 1, 1 ), nmax,
2263 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), d( 1, 1 ),
2264 $ d( 1, 2 ), d( 1, 3 ), a( 1, 5 ), a( 1, 6 ),
2265 $ iwork( 1 ), iwork( 2 ), d( 1, 4 ), d( 1, 5 ),
2266 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
2267 $ work, lwork, iwork( 3 ), liwork-2, result,
2271 $
WRITE( nout, fmt = 9980 )
'SDRGVX', info
2273 WRITE( nout, fmt = 9973 )
2276 ELSE IF( lsamen( 3, c3,
'SSB' ) )
THEN
2283 ntypes = min( maxtyp, ntypes )
2284 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2286 $
CALL serrst(
'SSB', nout )
2287 CALL schksb( nn, nval, nk, kval, maxtyp, dotype, iseed, thresh,
2288 $ nout, a( 1, 1 ), nmax, d( 1, 1 ), d( 1, 2 ),
2289 $ a( 1, 2 ), nmax, work, lwork, result, info )
2291 $
WRITE( nout, fmt = 9980 )
'SCHKSB', info
2293 ELSE IF( lsamen( 3, c3,
'SBB' ) )
THEN
2300 ntypes = min( maxtyp, ntypes )
2301 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2302 DO 370 i = 1, nparms
2305 IF( newsd.EQ.0 )
THEN
2307 iseed( k ) = ioldsd( k )
2310 WRITE( nout, fmt = 9966 )c3, nrhs
2311 CALL schkbb( nn, mval, nval, nk, kval, maxtyp, dotype, nrhs,
2312 $ iseed, thresh, nout, a( 1, 1 ), nmax,
2313 $ a( 1, 2 ), 2*nmax, d( 1, 1 ), d( 1, 2 ),
2314 $ a( 1, 4 ), nmax, a( 1, 5 ), nmax, a( 1, 6 ),
2315 $ nmax, a( 1, 7 ), work, lwork, result, info )
2317 $
WRITE( nout, fmt = 9980 )
'SCHKBB', info
2320 ELSE IF( lsamen( 3, c3,
'GLM' ) )
THEN
2328 $
CALL serrgg(
'GLM', nout )
2329 CALL sckglm( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2330 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2331 $ work, d( 1, 1 ), nin, nout, info )
2333 $
WRITE( nout, fmt = 9980 )
'SCKGLM', info
2335 ELSE IF( lsamen( 3, c3,
'GQR' ) )
THEN
2343 $
CALL serrgg(
'GQR', nout )
2344 CALL sckgqr( nn, mval, nn, pval, nn, nval, ntypes, iseed,
2345 $ thresh, nmax, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
2346 $ a( 1, 4 ), taua, b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
2347 $ b( 1, 4 ), b( 1, 5 ), taub, work, d( 1, 1 ), nin,
2350 $
WRITE( nout, fmt = 9980 )
'SCKGQR', info
2352 ELSE IF( lsamen( 3, c3,
'GSV' ) )
THEN
2360 $
CALL serrgg(
'GSV', nout )
2361 CALL sckgsv( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2362 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
2363 $ a( 1, 3 ), b( 1, 3 ), a( 1, 4 ), taua, taub,
2364 $ b( 1, 4 ), iwork, work, d( 1, 1 ), nin, nout,
2367 $
WRITE( nout, fmt = 9980 )
'SCKGSV', info
2369 ELSE IF( lsamen( 3, c3,
'CSD' ) )
THEN
2377 $
CALL serrgg(
'CSD', nout )
2378 CALL sckcsd( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2379 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), a( 1, 4 ),
2380 $ a( 1, 5 ), a( 1, 6 ), a( 1, 7 ), iwork, work,
2381 $ d( 1, 1 ), nin, nout, info )
2383 $
WRITE( nout, fmt = 9980 )
'SCKCSD', info
2385 ELSE IF( lsamen( 3, c3,
'LSE' ) )
THEN
2393 $
CALL serrgg(
'LSE', nout )
2394 CALL scklse( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2395 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2396 $ work, d( 1, 1 ), nin, nout, info )
2398 $
WRITE( nout, fmt = 9980 )
'SCKLSE', info
2401 WRITE( nout, fmt = * )
2402 WRITE( nout, fmt = * )
2403 WRITE( nout, fmt = 9992 )c3
2405 IF( .NOT.( sgx .OR. sxv ) )
2408 WRITE( nout, fmt = 9994 )
2410 WRITE( nout, fmt = 9993 )s2 - s1
2412 9999
FORMAT( /
' Execution not attempted due to input errors' )
2413 9997
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4 )
2414 9996
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NS =', i4,
2415 $
', MAXB =', i4,
', IACC22 =', i4,
', NBCOL =', i4 )
2416 9995
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2418 9994
FORMAT( / /
' End of tests' )
2419 9993
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
2420 9992
FORMAT( 1x, a3,
': Unrecognized path name' )
2421 9991
FORMAT( / /
' *** Invalid integer value in column ', i2,
2422 $
' of input',
' line:', / a79 )
2423 9990
FORMAT( / / 1x, a3,
' routines were not tested' )
2424 9989
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be >=',
2426 9988
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be <=',
2428 9987
FORMAT(
' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2429 9986
FORMAT(
' Tests of the Symmetric Eigenvalue Problem routines' )
2430 9985
FORMAT(
' Tests of the Singular Value Decomposition routines' )
2431 9984
FORMAT( /
' The following parameter values will be used:' )
2432 9983
FORMAT( 4x, a, 10i6, / 10x, 10i6 )
2433 9982
FORMAT( /
' Routines pass computational tests if test ratio is ',
2434 $
'less than', f8.2, / )
2435 9981
FORMAT(
' Relative machine ', a,
' is taken to be', e16.6 )
2436 9980
FORMAT(
' *** Error code from ', a,
' = ', i4 )
2437 9979
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2438 $ /
' SGEEV (eigenvalues and eigevectors)' )
2439 9978
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2440 $ /
' SGEES (Schur form)' )
2441 9977
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2442 $
' Driver', /
' SGEEVX (eigenvalues, eigenvectors and',
2443 $
' condition numbers)' )
2444 9976
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2445 $
' Driver', /
' SGEESX (Schur form and condition',
2447 9975
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2448 $
'Problem routines' )
2449 9974
FORMAT(
' Tests of SSBTRD', /
' (reduction of a symmetric band ',
2450 $
'matrix to tridiagonal form)' )
2451 9973
FORMAT( / 1x, 71(
'-' ) )
2452 9972
FORMAT( /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1 )
2453 9971
FORMAT( /
' Tests of the Generalized Linear Regression Model ',
2455 9970
FORMAT( /
' Tests of the Generalized QR and RQ routines' )
2456 9969
FORMAT( /
' Tests of the Generalized Singular Value',
2457 $
' Decomposition routines' )
2458 9968
FORMAT( /
' Tests of the Linear Least Squares routines' )
2459 9967
FORMAT(
' Tests of SGBBRD', /
' (reduction of a general band ',
2460 $
'matrix to real bidiagonal form)' )
2461 9966
FORMAT( / / 1x, a3,
': NRHS =', i4 )
2462 9965
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2463 $
'Problem Expert Driver SGGESX' )
2464 9964
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2465 $
'Problem Driver SGGES' )
2466 9963
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2467 $
'Problem Driver SGGEV' )
2468 9962
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2469 $
'Problem Expert Driver SGGEVX' )
2470 9961
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2472 $
', INWIN =', i4,
', INIBL =', i4,
', ISHFTS =', i4,
2474 9960
FORMAT( /
' Tests of the CS Decomposition routines' )
subroutine schkec(THRESH, TSTERR, NIN, NOUT)
SCHKEC
subroutine schkgk(NIN, NOUT)
SCHKGK
subroutine sdrvvx(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)
SDRVVX
subroutine sckglm(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
SCKGLM
subroutine sdrvbd(NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, A, LDA, U, LDU, VT, LDVT, ASAV, USAV, VTSAV, S, SSAV, E, WORK, LWORK, IWORK, NOUT, INFO)
SDRVBD
subroutine sdrges3(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHAR, ALPHAI, BETA, WORK, LWORK, RESULT, BWORK, INFO)
SDRGES3
subroutine sckgqr(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)
SCKGQR
subroutine serred(PATH, NUNIT)
SERRED
subroutine serrst(PATH, NUNIT)
SERRST
subroutine schkbk(NIN, NOUT)
SCHKBK
subroutine sdrgev3(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)
SDRGEV3
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine xlaenv(ISPEC, NVALUE)
XLAENV
subroutine schkgg(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)
SCHKGG
subroutine sdrvsx(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)
SDRVSX
subroutine sdrgsx(NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, AI, BI, Z, Q, ALPHAR, ALPHAI, BETA, C, LDC, S, WORK, LWORK, IWORK, LIWORK, BWORK, INFO)
SDRGSX
subroutine sckgsv(NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, U, V, Q, ALPHA, BETA, R, IWORK, WORK, RWORK, NIN, NOUT, INFO)
SCKGSV
subroutine serrgg(PATH, NUNIT)
SERRGG
subroutine schkbb(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)
SCHKBB
subroutine sdrvsg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, LDB, D, Z, LDZ, AB, BB, AP, BP, WORK, NWORK, IWORK, LIWORK, RESULT, INFO)
SDRVSG
subroutine sdrgev(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)
SDRGEV
subroutine scklse(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
SCKLSE
subroutine schkgl(NIN, NOUT)
SCHKGL
subroutine schkbd(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)
SCHKBD
subroutine sckcsd(NM, MVAL, PVAL, QVAL, NMATS, ISEED, THRESH, MMAX, X, XF, U1, U2, V1T, V2T, THETA, IWORK, WORK, RWORK, NIN, NOUT, INFO)
SCKCSD
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine sdrves(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, HT, WR, WI, WRT, WIT, VS, LDVS, RESULT, WORK, NWORK, IWORK, BWORK, INFO)
SDRVES
subroutine sdrvev(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)
SDRVEV
subroutine sdrgvx(NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, ALPHAR, ALPHAI, BETA, VL, VR, ILO, IHI, LSCALE, RSCALE, S, STRU, DIF, DIFTRU, WORK, LWORK, IWORK, LIWORK, RESULT, BWORK, INFO)
SDRGVX
subroutine schkbl(NIN, NOUT)
SCHKBL
subroutine schksb(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, U, LDU, WORK, LWORK, RESULT, INFO)
SCHKSB
subroutine serrbd(PATH, NUNIT)
SERRBD
subroutine schkst(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)
SCHKST
subroutine sdrges(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHAR, ALPHAI, BETA, WORK, LWORK, RESULT, BWORK, INFO)
SDRGES
subroutine sdrvst(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)
SDRVST
subroutine schkhs(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)
SCHKHS
subroutine serrhs(PATH, NUNIT)
SERRHS