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
1118 INTEGER INFOT, MAXB, NPROC, NSHIFT, NUNIT, SELDIM,
1122 LOGICAL SELVAL( 20 )
1123 INTEGER IPARMS( 100 )
1124 REAL SELWI( 20 ), SELWR( 20 )
1127 COMMON / cenvir / nproc, nshift, maxb
1128 COMMON / claenv / iparms
1129 COMMON / infoc / infot, nunit, ok, lerr
1130 COMMON / srnamc / srnamt
1131 COMMON / sslct / selopt, seldim, selval, selwr, selwi
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,
'SHS' )
1156 sep = lsamen( 3, path,
'SEP' ) .OR. lsamen( 3, path,
'SST' ) .OR.
1157 $ lsamen( 3, path,
'SSG' ) .OR. lsamen( 3, path,
'SE2' )
1158 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'DBD' )
1159 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'SBD' )
1160 sev = lsamen( 3, path,
'SEV' )
1161 ses = lsamen( 3, path,
'SES' )
1162 svx = lsamen( 3, path,
'SVX' )
1163 ssx = lsamen( 3, path,
'SSX' )
1164 sgg = lsamen( 3, path,
'SGG' )
1165 sgs = lsamen( 3, path,
'SGS' )
1166 sgx = lsamen( 3, path,
'SGX' )
1167 sgv = lsamen( 3, path,
'SGV' )
1168 sxv = lsamen( 3, path,
'SXV' )
1169 ssb = lsamen( 3, path,
'SSB' )
1170 sbb = lsamen( 3, path,
'SBB' )
1171 glm = lsamen( 3, path,
'GLM' )
1172 gqr = lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' )
1173 gsv = lsamen( 3, path,
'GSV' )
1174 csd = lsamen( 3, path,
'CSD' )
1175 lse = lsamen( 3, path,
'LSE' )
1176 sbl = lsamen( 3, path,
'SBL' )
1177 sbk = lsamen( 3, path,
'SBK' )
1178 sgl = lsamen( 3, path,
'SGL' )
1179 sgk = lsamen( 3, path,
'SGK' )
1183 IF( path.EQ.
' ' )
THEN
1186 WRITE( nout, fmt = 9987 )
1188 WRITE( nout, fmt = 9986 )
1190 WRITE( nout, fmt = 9985 )
1192 WRITE( nout, fmt = 9979 )
1194 WRITE( nout, fmt = 9978 )
1196 WRITE( nout, fmt = 9977 )
1198 WRITE( nout, fmt = 9976 )
1200 WRITE( nout, fmt = 9975 )
1202 WRITE( nout, fmt = 9964 )
1204 WRITE( nout, fmt = 9965 )
1206 WRITE( nout, fmt = 9963 )
1208 WRITE( nout, fmt = 9962 )
1210 WRITE( nout, fmt = 9974 )
1212 WRITE( nout, fmt = 9967 )
1214 WRITE( nout, fmt = 9971 )
1216 WRITE( nout, fmt = 9970 )
1218 WRITE( nout, fmt = 9969 )
1220 WRITE( nout, fmt = 9960 )
1222 WRITE( nout, fmt = 9968 )
1247 ELSE IF( lsamen( 3, path,
'SEC' ) )
THEN
1251 READ( nin, fmt = * )thresh
1259 CALL schkec( thresh, tsterr, nin, nout )
1262 WRITE( nout, fmt = 9992 )path
1265 CALL ilaver( vers_major, vers_minor, vers_patch )
1266 WRITE( nout, fmt = 9972 ) vers_major, vers_minor, vers_patch
1267 WRITE( nout, fmt = 9984 )
1271 READ( nin, fmt = * )nn
1273 WRITE( nout, fmt = 9989 )
' NN ', nn, 1
1276 ELSE IF( nn.GT.maxin )
THEN
1277 WRITE( nout, fmt = 9988 )
' NN ', nn, maxin
1284 IF( .NOT.( sgx .OR. sxv ) )
THEN
1285 READ( nin, fmt = * )( mval( i ), i = 1, nn )
1292 IF( mval( i ).LT.0 )
THEN
1293 WRITE( nout, fmt = 9989 )vname, mval( i ), 0
1295 ELSE IF( mval( i ).GT.nmax )
THEN
1296 WRITE( nout, fmt = 9988 )vname, mval( i ), nmax
1300 WRITE( nout, fmt = 9983 )
'M: ', ( mval( i ), i = 1, nn )
1305 IF( glm .OR. gqr .OR. gsv .OR. csd .OR. lse )
THEN
1306 READ( nin, fmt = * )( pval( i ), i = 1, nn )
1308 IF( pval( i ).LT.0 )
THEN
1309 WRITE( nout, fmt = 9989 )
' P ', pval( i ), 0
1311 ELSE IF( pval( i ).GT.nmax )
THEN
1312 WRITE( nout, fmt = 9988 )
' P ', pval( i ), nmax
1316 WRITE( nout, fmt = 9983 )
'P: ', ( pval( i ), i = 1, nn )
1321 IF( svd .OR. sbb .OR. glm .OR. gqr .OR. gsv .OR. csd .OR.
1323 READ( nin, fmt = * )( nval( i ), i = 1, nn )
1325 IF( nval( i ).LT.0 )
THEN
1326 WRITE( nout, fmt = 9989 )
' N ', nval( i ), 0
1328 ELSE IF( nval( i ).GT.nmax )
THEN
1329 WRITE( nout, fmt = 9988 )
' N ', nval( i ), nmax
1335 nval( i ) = mval( i )
1338 IF( .NOT.( sgx .OR. sxv ) )
THEN
1339 WRITE( nout, fmt = 9983 )
'N: ', ( nval( i ), i = 1, nn )
1341 WRITE( nout, fmt = 9983 )
'N: ', nn
1346 IF( ssb .OR. sbb )
THEN
1347 READ( nin, fmt = * )nk
1348 READ( nin, fmt = * )( kval( i ), i = 1, nk )
1350 IF( kval( i ).LT.0 )
THEN
1351 WRITE( nout, fmt = 9989 )
' K ', kval( i ), 0
1353 ELSE IF( kval( i ).GT.nmax )
THEN
1354 WRITE( nout, fmt = 9988 )
' K ', kval( i ), nmax
1358 WRITE( nout, fmt = 9983 )
'K: ', ( kval( i ), i = 1, nk )
1361 IF( sev .OR. ses .OR. svx .OR. ssx )
THEN
1366 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1367 $ inmin( 1 ), inwin( 1 ), inibl(1), ishfts(1), iacc22(1)
1368 IF( nbval( 1 ).LT.1 )
THEN
1369 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1371 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1372 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1374 ELSE IF( nxval( 1 ).LT.1 )
THEN
1375 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1377 ELSE IF( inmin( 1 ).LT.1 )
THEN
1378 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( 1 ), 1
1380 ELSE IF( inwin( 1 ).LT.1 )
THEN
1381 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( 1 ), 1
1383 ELSE IF( inibl( 1 ).LT.1 )
THEN
1384 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( 1 ), 1
1386 ELSE IF( ishfts( 1 ).LT.1 )
THEN
1387 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( 1 ), 1
1389 ELSE IF( iacc22( 1 ).LT.0 )
THEN
1390 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( 1 ), 0
1393 CALL xlaenv( 1, nbval( 1 ) )
1394 CALL xlaenv( 2, nbmin( 1 ) )
1395 CALL xlaenv( 3, nxval( 1 ) )
1396 CALL xlaenv(12, max( 11, inmin( 1 ) ) )
1397 CALL xlaenv(13, inwin( 1 ) )
1398 CALL xlaenv(14, inibl( 1 ) )
1399 CALL xlaenv(15, ishfts( 1 ) )
1400 CALL xlaenv(16, iacc22( 1 ) )
1401 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1402 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1403 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1404 WRITE( nout, fmt = 9983 )
'INMIN: ', inmin( 1 )
1405 WRITE( nout, fmt = 9983 )
'INWIN: ', inwin( 1 )
1406 WRITE( nout, fmt = 9983 )
'INIBL: ', inibl( 1 )
1407 WRITE( nout, fmt = 9983 )
'ISHFTS: ', ishfts( 1 )
1408 WRITE( nout, fmt = 9983 )
'IACC22: ', iacc22( 1 )
1410 ELSE IF( sgs .OR. sgx .OR. sgv .OR. sxv )
THEN
1415 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1416 $ nsval( 1 ), mxbval( 1 )
1417 IF( nbval( 1 ).LT.1 )
THEN
1418 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1420 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1421 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1423 ELSE IF( nxval( 1 ).LT.1 )
THEN
1424 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1426 ELSE IF( nsval( 1 ).LT.2 )
THEN
1427 WRITE( nout, fmt = 9989 )
' NS ', nsval( 1 ), 2
1429 ELSE IF( mxbval( 1 ).LT.1 )
THEN
1430 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( 1 ), 1
1433 CALL xlaenv( 1, nbval( 1 ) )
1434 CALL xlaenv( 2, nbmin( 1 ) )
1435 CALL xlaenv( 3, nxval( 1 ) )
1436 CALL xlaenv( 4, nsval( 1 ) )
1437 CALL xlaenv( 8, mxbval( 1 ) )
1438 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1439 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1440 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1441 WRITE( nout, fmt = 9983 )
'NS: ', nsval( 1 )
1442 WRITE( nout, fmt = 9983 )
'MAXB: ', mxbval( 1 )
1444 ELSE IF( .NOT.ssb .AND. .NOT.glm .AND. .NOT.gqr .AND. .NOT.
1445 $ gsv .AND. .NOT.csd .AND. .NOT.lse )
THEN
1450 READ( nin, fmt = * )nparms
1451 IF( nparms.LT.1 )
THEN
1452 WRITE( nout, fmt = 9989 )
'NPARMS', nparms, 1
1455 ELSE IF( nparms.GT.maxin )
THEN
1456 WRITE( nout, fmt = 9988 )
'NPARMS', nparms, maxin
1464 READ( nin, fmt = * )( nbval( i ), i = 1, nparms )
1466 IF( nbval( i ).LT.0 )
THEN
1467 WRITE( nout, fmt = 9989 )
' NB ', nbval( i ), 0
1469 ELSE IF( nbval( i ).GT.nmax )
THEN
1470 WRITE( nout, fmt = 9988 )
' NB ', nbval( i ), nmax
1474 WRITE( nout, fmt = 9983 )
'NB: ',
1475 $ ( nbval( i ), i = 1, nparms )
1480 IF( nep .OR. sep .OR. svd .OR. sgg )
THEN
1481 READ( nin, fmt = * )( nbmin( i ), i = 1, nparms )
1483 IF( nbmin( i ).LT.0 )
THEN
1484 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( i ), 0
1486 ELSE IF( nbmin( i ).GT.nmax )
THEN
1487 WRITE( nout, fmt = 9988 )
'NBMIN ', nbmin( i ), nmax
1491 WRITE( nout, fmt = 9983 )
'NBMIN:',
1492 $ ( nbmin( i ), i = 1, nparms )
1501 IF( nep .OR. sep .OR. svd )
THEN
1502 READ( nin, fmt = * )( nxval( i ), i = 1, nparms )
1503 DO 100 i = 1, nparms
1504 IF( nxval( i ).LT.0 )
THEN
1505 WRITE( nout, fmt = 9989 )
' NX ', nxval( i ), 0
1507 ELSE IF( nxval( i ).GT.nmax )
THEN
1508 WRITE( nout, fmt = 9988 )
' NX ', nxval( i ), nmax
1512 WRITE( nout, fmt = 9983 )
'NX: ',
1513 $ ( nxval( i ), i = 1, nparms )
1515 DO 110 i = 1, nparms
1523 IF( svd .OR. sbb .OR. sgg )
THEN
1524 READ( nin, fmt = * )( nsval( i ), i = 1, nparms )
1525 DO 120 i = 1, nparms
1526 IF( nsval( i ).LT.0 )
THEN
1527 WRITE( nout, fmt = 9989 )
' NS ', nsval( i ), 0
1529 ELSE IF( nsval( i ).GT.nmax )
THEN
1530 WRITE( nout, fmt = 9988 )
' NS ', nsval( i ), nmax
1534 WRITE( nout, fmt = 9983 )
'NS: ',
1535 $ ( nsval( i ), i = 1, nparms )
1537 DO 130 i = 1, nparms
1545 READ( nin, fmt = * )( mxbval( i ), i = 1, nparms )
1546 DO 140 i = 1, nparms
1547 IF( mxbval( i ).LT.0 )
THEN
1548 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( i ), 0
1550 ELSE IF( mxbval( i ).GT.nmax )
THEN
1551 WRITE( nout, fmt = 9988 )
' MAXB ', mxbval( i ), nmax
1555 WRITE( nout, fmt = 9983 )
'MAXB: ',
1556 $ ( mxbval( i ), i = 1, nparms )
1558 DO 150 i = 1, nparms
1566 READ( nin, fmt = * )( inmin( i ), i = 1, nparms )
1567 DO 540 i = 1, nparms
1568 IF( inmin( i ).LT.0 )
THEN
1569 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( i ), 0
1573 WRITE( nout, fmt = 9983 )
'INMIN: ',
1574 $ ( inmin( i ), i = 1, nparms )
1576 DO 550 i = 1, nparms
1584 READ( nin, fmt = * )( inwin( i ), i = 1, nparms )
1585 DO 560 i = 1, nparms
1586 IF( inwin( i ).LT.0 )
THEN
1587 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( i ), 0
1591 WRITE( nout, fmt = 9983 )
'INWIN: ',
1592 $ ( inwin( i ), i = 1, nparms )
1594 DO 570 i = 1, nparms
1602 READ( nin, fmt = * )( inibl( i ), i = 1, nparms )
1603 DO 580 i = 1, nparms
1604 IF( inibl( i ).LT.0 )
THEN
1605 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( i ), 0
1609 WRITE( nout, fmt = 9983 )
'INIBL: ',
1610 $ ( inibl( i ), i = 1, nparms )
1612 DO 590 i = 1, nparms
1620 READ( nin, fmt = * )( ishfts( i ), i = 1, nparms )
1621 DO 600 i = 1, nparms
1622 IF( ishfts( i ).LT.0 )
THEN
1623 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( i ), 0
1627 WRITE( nout, fmt = 9983 )
'ISHFTS: ',
1628 $ ( ishfts( i ), i = 1, nparms )
1630 DO 610 i = 1, nparms
1637 IF( nep .OR. sgg )
THEN
1638 READ( nin, fmt = * )( iacc22( i ), i = 1, nparms )
1639 DO 620 i = 1, nparms
1640 IF( iacc22( i ).LT.0 )
THEN
1641 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( i ), 0
1645 WRITE( nout, fmt = 9983 )
'IACC22: ',
1646 $ ( iacc22( i ), i = 1, nparms )
1648 DO 630 i = 1, nparms
1656 READ( nin, fmt = * )( nbcol( i ), i = 1, nparms )
1657 DO 160 i = 1, nparms
1658 IF( nbcol( i ).LT.0 )
THEN
1659 WRITE( nout, fmt = 9989 )
'NBCOL ', nbcol( i ), 0
1661 ELSE IF( nbcol( i ).GT.nmax )
THEN
1662 WRITE( nout, fmt = 9988 )
'NBCOL ', nbcol( i ), nmax
1666 WRITE( nout, fmt = 9983 )
'NBCOL:',
1667 $ ( nbcol( i ), i = 1, nparms )
1669 DO 170 i = 1, nparms
1677 WRITE( nout, fmt = * )
1678 eps = slamch(
'Underflow threshold' )
1679 WRITE( nout, fmt = 9981 )
'underflow', eps
1680 eps = slamch(
'Overflow threshold' )
1681 WRITE( nout, fmt = 9981 )
'overflow ', eps
1682 eps = slamch(
'Epsilon' )
1683 WRITE( nout, fmt = 9981 )
'precision', eps
1687 READ( nin, fmt = * )thresh
1688 WRITE( nout, fmt = 9982 )thresh
1689 IF( sep .OR. svd .OR. sgg )
THEN
1693 READ( nin, fmt = * )tstchk
1697 READ( nin, fmt = * )tstdrv
1702 READ( nin, fmt = * )tsterr
1706 READ( nin, fmt = * )newsd
1711 $
READ( nin, fmt = * )( ioldsd( i ), i = 1, 4 )
1714 iseed( i ) = ioldsd( i )
1718 WRITE( nout, fmt = 9999 )
1729 IF( .NOT.( sgx .OR. sxv ) )
THEN
1732 READ( nin, fmt =
'(A80)', end = 380 )line
1740 IF( i.GT.lenp )
THEN
1748 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN
1755 IF( c1.EQ.intstr( k: k ) )
THEN
1760 WRITE( nout, fmt = 9991 )i, line
1765 ELSE IF( i1.GT.0 )
THEN
1775 IF( .NOT.( sev .OR. ses .OR. svx .OR. ssx .OR. sgv .OR.
1776 $ sgs ) .AND. ntypes.LE.0 )
THEN
1777 WRITE( nout, fmt = 9990 )c3
1790 IF( newsd.EQ.0 )
THEN
1792 iseed( k ) = ioldsd( k )
1796 IF( lsamen( 3, c3,
'SHS' ) .OR. lsamen( 3, c3,
'NEP' ) )
THEN
1809 ntypes = min( maxtyp, ntypes )
1810 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1813 $
CALL serrhs(
'SHSEQR', nout )
1814 DO 270 i = 1, nparms
1815 CALL xlaenv( 1, nbval( i ) )
1816 CALL xlaenv( 2, nbmin( i ) )
1817 CALL xlaenv( 3, nxval( i ) )
1818 CALL xlaenv(12, max( 11, inmin( i ) ) )
1819 CALL xlaenv(13, inwin( i ) )
1820 CALL xlaenv(14, inibl( i ) )
1821 CALL xlaenv(15, ishfts( i ) )
1822 CALL xlaenv(16, iacc22( i ) )
1824 IF( newsd.EQ.0 )
THEN
1826 iseed( k ) = ioldsd( k )
1829 WRITE( nout, fmt = 9961 )c3, nbval( i ), nbmin( i ),
1830 $ nxval( i ), max( 11, inmin(i)),
1831 $ inwin( i ), inibl( i ), ishfts( i ), iacc22( i )
1832 CALL schkhs( nn, nval, maxtyp, dotype, iseed, thresh, nout,
1833 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
1834 $ a( 1, 4 ), a( 1, 5 ), nmax, a( 1, 6 ),
1835 $ a( 1, 7 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
1836 $ d( 1, 4 ), d( 1, 5 ), d( 1, 6 ), a( 1, 8 ),
1837 $ a( 1, 9 ), a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
1838 $ d( 1, 7 ), work, lwork, iwork, logwrk, result,
1841 $
WRITE( nout, fmt = 9980 )
'SCHKHS', info
1844 ELSE IF( lsamen( 3, c3,
'SST' ) .OR. lsamen( 3, c3,
'SEP' )
1845 $ .OR. lsamen( 3, c3,
'SE2' ) )
THEN
1856 ntypes = min( maxtyp, ntypes )
1857 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1861 $
CALL serrst(
'SST', nout )
1862 DO 290 i = 1, nparms
1863 CALL xlaenv( 1, nbval( i ) )
1864 CALL xlaenv( 2, nbmin( i ) )
1865 CALL xlaenv( 3, nxval( i ) )
1867 IF( newsd.EQ.0 )
THEN
1869 iseed( k ) = ioldsd( k )
1872 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1875 IF( lsamen( 3, c3,
'SE2' ) )
THEN
1876 CALL schkst2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1877 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
1878 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), d( 1, 5 ),
1879 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
1880 $ d( 1, 10 ), d( 1, 11 ), a( 1, 3 ), nmax,
1881 $ a( 1, 4 ), a( 1, 5 ), d( 1, 12 ), a( 1, 6 ),
1882 $ work, lwork, iwork, liwork, result, info )
1884 CALL schkst( nn, nval, maxtyp, dotype, iseed, thresh,
1885 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
1886 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), d( 1, 5 ),
1887 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
1888 $ d( 1, 10 ), d( 1, 11 ), a( 1, 3 ), nmax,
1889 $ a( 1, 4 ), a( 1, 5 ), d( 1, 12 ), a( 1, 6 ),
1890 $ work, lwork, iwork, liwork, result, info )
1893 $
WRITE( nout, fmt = 9980 )
'SCHKST', info
1896 IF( lsamen( 3, c3,
'SE2' ) )
THEN
1897 CALL sdrvst2stg( nn, nval, 18, dotype, iseed, thresh,
1898 $ nout, a( 1, 1 ), nmax, d( 1, 3 ), d( 1, 4 ),
1899 $ d( 1, 5 ), d( 1, 6 ), d( 1, 8 ), d( 1, 9 ),
1900 $ d( 1, 10 ), d( 1, 11), a( 1, 2 ), nmax,
1901 $ a( 1, 3 ), d( 1, 12 ), a( 1, 4 ), work,
1902 $ lwork, iwork, liwork, result, info )
1904 CALL sdrvst( nn, nval, 18, dotype, iseed, thresh,
1905 $ nout, a( 1, 1 ), nmax, d( 1, 3 ), d( 1, 4 ),
1906 $ d( 1, 5 ), d( 1, 6 ), d( 1, 8 ), d( 1, 9 ),
1907 $ d( 1, 10 ), d( 1, 11), a( 1, 2 ), nmax,
1908 $ a( 1, 3 ), d( 1, 12 ), a( 1, 4 ), work,
1909 $ lwork, iwork, liwork, result, info )
1912 $
WRITE( nout, fmt = 9980 )
'SDRVST', info
1916 ELSE IF( lsamen( 3, c3,
'SSG' ) )
THEN
1927 ntypes = min( maxtyp, ntypes )
1928 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1930 DO 310 i = 1, nparms
1931 CALL xlaenv( 1, nbval( i ) )
1932 CALL xlaenv( 2, nbmin( i ) )
1933 CALL xlaenv( 3, nxval( i ) )
1935 IF( newsd.EQ.0 )
THEN
1937 iseed( k ) = ioldsd( k )
1940 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1948 CALL sdrvsg2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1949 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1950 $ d( 1, 3 ), d( 1, 3 ), a( 1, 3 ), nmax,
1951 $ a( 1, 4 ), a( 1, 5 ), a( 1, 6 ),
1952 $ a( 1, 7 ), work, lwork, iwork, liwork,
1955 $
WRITE( nout, fmt = 9980 )
'SDRVSG', info
1959 ELSE IF( lsamen( 3, c3,
'SBD' ) .OR. lsamen( 3, c3,
'SVD' ) )
THEN
1971 ntypes = min( maxtyp, ntypes )
1972 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1978 IF( tsterr .AND. tstchk )
1979 $
CALL serrbd(
'SBD', nout )
1980 IF( tsterr .AND. tstdrv )
1981 $
CALL serred(
'SBD', nout )
1983 DO 330 i = 1, nparms
1985 CALL xlaenv( 1, nbval( i ) )
1986 CALL xlaenv( 2, nbmin( i ) )
1987 CALL xlaenv( 3, nxval( i ) )
1988 IF( newsd.EQ.0 )
THEN
1990 iseed( k ) = ioldsd( k )
1993 WRITE( nout, fmt = 9995 )c3, nbval( i ), nbmin( i ),
1996 CALL schkbd( nn, mval, nval, maxtyp, dotype, nrhs, iseed,
1997 $ thresh, a( 1, 1 ), nmax, d( 1, 1 ),
1998 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 2 ),
1999 $ nmax, a( 1, 3 ), a( 1, 4 ), a( 1, 5 ), nmax,
2000 $ a( 1, 6 ), nmax, a( 1, 7 ), a( 1, 8 ), work,
2001 $ lwork, iwork, nout, info )
2003 $
WRITE( nout, fmt = 9980 )
'SCHKBD', info
2006 $
CALL sdrvbd( nn, mval, nval, maxtyp, dotype, iseed,
2007 $ thresh, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
2008 $ a( 1, 3 ), nmax, a( 1, 4 ), a( 1, 5 ),
2009 $ a( 1, 6 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
2010 $ work, lwork, iwork, nout, info )
2013 ELSE IF( lsamen( 3, c3,
'SEV' ) )
THEN
2021 ntypes = min( maxtyp, ntypes )
2022 IF( ntypes.LE.0 )
THEN
2023 WRITE( nout, fmt = 9990 )c3
2026 $
CALL serred( c3, nout )
2027 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2028 CALL sdrvev( nn, nval, ntypes, dotype, iseed, thresh, nout,
2029 $ a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
2030 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 3 ),
2031 $ nmax, a( 1, 4 ), nmax, a( 1, 5 ), nmax, result,
2032 $ work, lwork, iwork, info )
2034 $
WRITE( nout, fmt = 9980 )
'SGEEV', info
2036 WRITE( nout, fmt = 9973 )
2039 ELSE IF( lsamen( 3, c3,
'SES' ) )
THEN
2047 ntypes = min( maxtyp, ntypes )
2048 IF( ntypes.LE.0 )
THEN
2049 WRITE( nout, fmt = 9990 )c3
2052 $
CALL serred( c3, nout )
2053 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2054 CALL sdrves( nn, nval, ntypes, dotype, iseed, thresh, nout,
2055 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2056 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2057 $ a( 1, 4 ), nmax, result, work, lwork, iwork,
2060 $
WRITE( nout, fmt = 9980 )
'SGEES', info
2062 WRITE( nout, fmt = 9973 )
2065 ELSE IF( lsamen( 3, c3,
'SVX' ) )
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 sdrvvx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2081 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), d( 1, 1 ),
2082 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), a( 1, 3 ),
2083 $ nmax, a( 1, 4 ), nmax, a( 1, 5 ), nmax,
2084 $ d( 1, 5 ), d( 1, 6 ), d( 1, 7 ), d( 1, 8 ),
2085 $ d( 1, 9 ), d( 1, 10 ), d( 1, 11 ), d( 1, 12 ),
2086 $ result, work, lwork, iwork, info )
2088 $
WRITE( nout, fmt = 9980 )
'SGEEVX', info
2090 WRITE( nout, fmt = 9973 )
2093 ELSE IF( lsamen( 3, c3,
'SSX' ) )
THEN
2101 ntypes = min( maxtyp, ntypes )
2102 IF( ntypes.LT.0 )
THEN
2103 WRITE( nout, fmt = 9990 )c3
2106 $
CALL serred( c3, nout )
2107 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2108 CALL sdrvsx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2109 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2110 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2111 $ d( 1, 5 ), d( 1, 6 ), a( 1, 4 ), nmax,
2112 $ a( 1, 5 ), result, work, lwork, iwork, logwrk,
2115 $
WRITE( nout, fmt = 9980 )
'SGEESX', info
2117 WRITE( nout, fmt = 9973 )
2120 ELSE IF( lsamen( 3, c3,
'SGG' ) )
THEN
2134 ntypes = min( maxtyp, ntypes )
2135 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2137 IF( tstchk .AND. tsterr )
2138 &
CALL serrgg( c3, nout )
2139 DO 350 i = 1, nparms
2140 CALL xlaenv( 1, nbval( i ) )
2141 CALL xlaenv( 2, nbmin( i ) )
2142 CALL xlaenv( 4, nsval( i ) )
2143 CALL xlaenv( 8, mxbval( i ) )
2144 CALL xlaenv( 16, iacc22( i ) )
2145 CALL xlaenv( 5, nbcol( i ) )
2147 IF( newsd.EQ.0 )
THEN
2149 iseed( k ) = ioldsd( k )
2152 WRITE( nout, fmt = 9996 )c3, nbval( i ), nbmin( i ),
2153 $ nsval( i ), mxbval( i ), iacc22( i ), nbcol( i )
2157 CALL schkgg( nn, nval, maxtyp, dotype, iseed, thresh,
2158 $ tstdif, thrshn, nout, a( 1, 1 ), nmax,
2159 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2160 $ a( 1, 6 ), a( 1, 7 ), a( 1, 8 ), a( 1, 9 ),
2161 $ nmax, a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
2162 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), d( 1, 4 ),
2163 $ d( 1, 5 ), d( 1, 6 ), a( 1, 13 ),
2164 $ a( 1, 14 ), work, lwork, logwrk, result,
2167 $
WRITE( nout, fmt = 9980 )
'SCHKGG', info
2171 ELSE IF( lsamen( 3, c3,
'SGS' ) )
THEN
2179 ntypes = min( maxtyp, ntypes )
2180 IF( ntypes.LE.0 )
THEN
2181 WRITE( nout, fmt = 9990 )c3
2184 $
CALL serrgg( c3, nout )
2185 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2186 CALL sdrges( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2187 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2188 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2189 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), work, lwork,
2190 $ result, logwrk, info )
2193 $
WRITE( nout, fmt = 9980 )
'SDRGES', info
2198 CALL sdrges3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2199 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2200 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2201 $ d( 1, 1 ), d( 1, 2 ), d( 1, 3 ), work, lwork,
2202 $ result, logwrk, info )
2205 $
WRITE( nout, fmt = 9980 )
'SDRGES3', info
2207 WRITE( nout, fmt = 9973 )
2220 WRITE( nout, fmt = 9990 )c3
2223 $
CALL serrgg( c3, nout )
2224 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2226 CALL sdrgsx( nn, ncmax, thresh, nin, nout, a( 1, 1 ), nmax,
2227 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2228 $ a( 1, 6 ), d( 1, 1 ), d( 1, 2 ), d( 1, 3 ),
2229 $ c( 1, 1 ), ncmax*ncmax, a( 1, 12 ), work,
2230 $ lwork, iwork, liwork, logwrk, info )
2232 $
WRITE( nout, fmt = 9980 )
'SDRGSX', info
2234 WRITE( nout, fmt = 9973 )
2237 ELSE IF( lsamen( 3, c3,
'SGV' ) )
THEN
2245 ntypes = min( maxtyp, ntypes )
2246 IF( ntypes.LE.0 )
THEN
2247 WRITE( nout, fmt = 9990 )c3
2250 $
CALL serrgg( c3, nout )
2251 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2252 CALL sdrgev( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2253 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2254 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2255 $ a( 1, 9 ), nmax, d( 1, 1 ), d( 1, 2 ),
2256 $ d( 1, 3 ), d( 1, 4 ), d( 1, 5 ), d( 1, 6 ),
2257 $ work, lwork, result, info )
2259 $
WRITE( nout, fmt = 9980 )
'SDRGEV', info
2263 CALL sdrgev3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2264 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2265 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2266 $ a( 1, 9 ), nmax, d( 1, 1 ), d( 1, 2 ),
2267 $ d( 1, 3 ), d( 1, 4 ), d( 1, 5 ), d( 1, 6 ),
2268 $ work, lwork, result, info )
2270 $
WRITE( nout, fmt = 9980 )
'SDRGEV3', info
2272 WRITE( nout, fmt = 9973 )
2285 WRITE( nout, fmt = 9990 )c3
2288 $
CALL serrgg( c3, nout )
2289 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2290 CALL sdrgvx( nn, thresh, nin, nout, a( 1, 1 ), nmax,
2291 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), d( 1, 1 ),
2292 $ d( 1, 2 ), d( 1, 3 ), a( 1, 5 ), a( 1, 6 ),
2293 $ iwork( 1 ), iwork( 2 ), d( 1, 4 ), d( 1, 5 ),
2294 $ d( 1, 6 ), d( 1, 7 ), d( 1, 8 ), d( 1, 9 ),
2295 $ work, lwork, iwork( 3 ), liwork-2, result,
2299 $
WRITE( nout, fmt = 9980 )
'SDRGVX', info
2301 WRITE( nout, fmt = 9973 )
2304 ELSE IF( lsamen( 3, c3,
'SSB' ) )
THEN
2311 ntypes = min( maxtyp, ntypes )
2312 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2314 $
CALL serrst(
'SSB', nout )
2318 CALL schksb2stg( nn, nval, nk, kval, maxtyp, dotype, iseed,
2319 $ thresh, nout, a( 1, 1 ), nmax, d( 1, 1 ),
2320 $ d( 1, 2 ), d( 1, 3 ), d( 1, 4 ), d( 1, 5 ),
2321 $ a( 1, 2 ), nmax, work, lwork, result, info )
2323 $
WRITE( nout, fmt = 9980 )
'SCHKSB', info
2325 ELSE IF( lsamen( 3, c3,
'SBB' ) )
THEN
2332 ntypes = min( maxtyp, ntypes )
2333 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2334 DO 370 i = 1, nparms
2337 IF( newsd.EQ.0 )
THEN
2339 iseed( k ) = ioldsd( k )
2342 WRITE( nout, fmt = 9966 )c3, nrhs
2343 CALL schkbb( nn, mval, nval, nk, kval, maxtyp, dotype, nrhs,
2344 $ iseed, thresh, nout, a( 1, 1 ), nmax,
2345 $ a( 1, 2 ), 2*nmax, d( 1, 1 ), d( 1, 2 ),
2346 $ a( 1, 4 ), nmax, a( 1, 5 ), nmax, a( 1, 6 ),
2347 $ nmax, a( 1, 7 ), work, lwork, result, info )
2349 $
WRITE( nout, fmt = 9980 )
'SCHKBB', info
2352 ELSE IF( lsamen( 3, c3,
'GLM' ) )
THEN
2360 $
CALL serrgg(
'GLM', nout )
2361 CALL sckglm( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2362 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2363 $ work, d( 1, 1 ), nin, nout, info )
2365 $
WRITE( nout, fmt = 9980 )
'SCKGLM', info
2367 ELSE IF( lsamen( 3, c3,
'GQR' ) )
THEN
2375 $
CALL serrgg(
'GQR', nout )
2376 CALL sckgqr( nn, mval, nn, pval, nn, nval, ntypes, iseed,
2377 $ thresh, nmax, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
2378 $ a( 1, 4 ), taua, b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
2379 $ b( 1, 4 ), b( 1, 5 ), taub, work, d( 1, 1 ), nin,
2382 $
WRITE( nout, fmt = 9980 )
'SCKGQR', info
2384 ELSE IF( lsamen( 3, c3,
'GSV' ) )
THEN
2392 $
CALL serrgg(
'GSV', nout )
2393 CALL sckgsv( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2394 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
2395 $ a( 1, 3 ), b( 1, 3 ), a( 1, 4 ), taua, taub,
2396 $ b( 1, 4 ), iwork, work, d( 1, 1 ), nin, nout,
2399 $
WRITE( nout, fmt = 9980 )
'SCKGSV', info
2401 ELSE IF( lsamen( 3, c3,
'CSD' ) )
THEN
2409 $
CALL serrgg(
'CSD', nout )
2410 CALL sckcsd( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2411 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), a( 1, 4 ),
2412 $ a( 1, 5 ), a( 1, 6 ), a( 1, 7 ), iwork, work,
2413 $ d( 1, 1 ), nin, nout, info )
2415 $
WRITE( nout, fmt = 9980 )
'SCKCSD', info
2417 ELSE IF( lsamen( 3, c3,
'LSE' ) )
THEN
2425 $
CALL serrgg(
'LSE', nout )
2426 CALL scklse( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2427 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2428 $ work, d( 1, 1 ), nin, nout, info )
2430 $
WRITE( nout, fmt = 9980 )
'SCKLSE', info
2433 WRITE( nout, fmt = * )
2434 WRITE( nout, fmt = * )
2435 WRITE( nout, fmt = 9992 )c3
2437 IF( .NOT.( sgx .OR. sxv ) )
2440 WRITE( nout, fmt = 9994 )
2442 WRITE( nout, fmt = 9993 )s2 - s1
2444 9999
FORMAT( /
' Execution not attempted due to input errors' )
2445 9997
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4 )
2446 9996
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NS =', i4,
2447 $
', MAXB =', i4,
', IACC22 =', i4,
', NBCOL =', i4 )
2448 9995
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2450 9994
FORMAT( / /
' End of tests' )
2451 9993
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
2452 9992
FORMAT( 1x, a3,
': Unrecognized path name' )
2453 9991
FORMAT( / /
' *** Invalid integer value in column ', i2,
2454 $
' of input',
' line:', / a79 )
2455 9990
FORMAT( / / 1x, a3,
' routines were not tested' )
2456 9989
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be >=',
2458 9988
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be <=',
2460 9987
FORMAT(
' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2461 9986
FORMAT(
' Tests of the Symmetric Eigenvalue Problem routines' )
2462 9985
FORMAT(
' Tests of the Singular Value Decomposition routines' )
2463 9984
FORMAT( /
' The following parameter values will be used:' )
2464 9983
FORMAT( 4x, a, 10i6, / 10x, 10i6 )
2465 9982
FORMAT( /
' Routines pass computational tests if test ratio is ',
2466 $
'less than', f8.2, / )
2467 9981
FORMAT(
' Relative machine ', a,
' is taken to be', e16.6 )
2468 9980
FORMAT(
' *** Error code from ', a,
' = ', i4 )
2469 9979
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2470 $ /
' SGEEV (eigenvalues and eigevectors)' )
2471 9978
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2472 $ /
' SGEES (Schur form)' )
2473 9977
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2474 $
' Driver', /
' SGEEVX (eigenvalues, eigenvectors and',
2475 $
' condition numbers)' )
2476 9976
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2477 $
' Driver', /
' SGEESX (Schur form and condition',
2479 9975
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2480 $
'Problem routines' )
2481 9974
FORMAT(
' Tests of SSBTRD', /
' (reduction of a symmetric band ',
2482 $
'matrix to tridiagonal form)' )
2483 9973
FORMAT( / 1x, 71(
'-' ) )
2484 9972
FORMAT( /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1 )
2485 9971
FORMAT( /
' Tests of the Generalized Linear Regression Model ',
2487 9970
FORMAT( /
' Tests of the Generalized QR and RQ routines' )
2488 9969
FORMAT( /
' Tests of the Generalized Singular Value',
2489 $
' Decomposition routines' )
2490 9968
FORMAT( /
' Tests of the Linear Least Squares routines' )
2491 9967
FORMAT(
' Tests of SGBBRD', /
' (reduction of a general band ',
2492 $
'matrix to real bidiagonal form)' )
2493 9966
FORMAT( / / 1x, a3,
': NRHS =', i4 )
2494 9965
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2495 $
'Problem Expert Driver SGGESX' )
2496 9964
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2497 $
'Problem Driver SGGES' )
2498 9963
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2499 $
'Problem Driver SGGEV' )
2500 9962
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2501 $
'Problem Expert Driver SGGEVX' )
2502 9961
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2504 $
', INWIN =', i4,
', INIBL =', i4,
', ISHFTS =', i4,
2506 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 sdrvst2stg(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)
SDRVST2STG
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 sdrvsg2stg(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)
SDRVSG2STG
subroutine schkgl(NIN, NOUT)
SCHKGL
subroutine schksb2stg(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, D1, D2, D3, U, LDU, WORK, LWORK, RESULT, INFO)
SCHKSBSTG
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 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 schkst2stg(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)
SCHKST2STG
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 ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
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