1046 parameter ( nmax = 132 )
1048 parameter ( ncmax = 20 )
1050 parameter ( need = 14 )
1052 parameter ( lwork = nmax*( 5*nmax+20 ) )
1054 parameter ( liwork = nmax*( nmax+20 ) )
1056 parameter ( maxin = 20 )
1058 parameter ( maxt = 30 )
1060 parameter ( nin = 5, nout = 6 )
1063 LOGICAL CBB, CBK, CBL, CES, CEV, CGG, CGK, CGL, CGS,
1064 $ cgv, cgx, chb, csd, csx, cvx, cxv, fatal, glm,
1065 $ gqr, gsv,
lse, nep, sep, svd, tstchk, tstdif,
1068 CHARACTER*3 C3, PATH
1072 INTEGER I, I1, IC, INFO, ITMP, K, LENP, MAXTYP, NEWSD,
1073 $ nk, nn, nparms, nrhs, ntypes,
1074 $ vers_major, vers_minor, vers_patch
1075 REAL EPS, S1, S2, THRESH, THRSHN
1078 LOGICAL DOTYPE( maxt ), LOGWRK( nmax )
1079 INTEGER IOLDSD( 4 ), ISEED( 4 ), IWORK( liwork ),
1080 $ kval( maxin ), mval( maxin ), mxbval( maxin ),
1081 $ nbcol( maxin ), nbmin( maxin ), nbval( maxin ),
1082 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
1084 INTEGER INMIN( maxin ), INWIN( maxin ), INIBL( maxin ),
1085 $ ishfts( maxin ), iacc22( maxin )
1086 REAL ALPHA( nmax ), BETA( nmax ), DR( nmax, 12 ),
1087 $ result( 500 ), rwork( lwork ), s( nmax*nmax )
1088 COMPLEX A( nmax*nmax, need ), B( nmax*nmax, 5 ),
1089 $ c( ncmax*ncmax, ncmax*ncmax ), dc( nmax, 6 ),
1090 $ taua( nmax ), taub( nmax ), work( lwork ),
1096 EXTERNAL lsamen, second, slamch
1113 INTEGER INFOT, MAXB, NPROC, NSHIFT, NUNIT, SELDIM,
1117 LOGICAL SELVAL( 20 )
1118 INTEGER IPARMS( 100 )
1119 REAL SELWI( 20 ), SELWR( 20 )
1122 COMMON / cenvir / nproc, nshift, maxb
1123 COMMON / claenv / iparms
1124 COMMON / infoc / infot, nunit, ok, lerr
1125 COMMON / srnamc / srnamt
1126 COMMON / sslct / selopt, seldim, selval, selwr, selwi
1129 DATA intstr /
'0123456789' /
1130 DATA ioldsd / 0, 0, 0, 1 /
1148 READ( nin, fmt =
'(A80)', end = 380 )line
1150 nep = lsamen( 3, path,
'NEP' ) .OR. lsamen( 3, path,
'CHS' )
1151 sep = lsamen( 3, path,
'SEP' ) .OR. lsamen( 3, path,
'CST' ) .OR.
1152 $ lsamen( 3, path,
'CSG' )
1153 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'CBD' )
1154 cev = lsamen( 3, path,
'CEV' )
1155 ces = lsamen( 3, path,
'CES' )
1156 cvx = lsamen( 3, path,
'CVX' )
1157 csx = lsamen( 3, path,
'CSX' )
1158 cgg = lsamen( 3, path,
'CGG' )
1159 cgs = lsamen( 3, path,
'CGS' )
1160 cgx = lsamen( 3, path,
'CGX' )
1161 cgv = lsamen( 3, path,
'CGV' )
1162 cxv = lsamen( 3, path,
'CXV' )
1163 chb = lsamen( 3, path,
'CHB' )
1164 cbb = lsamen( 3, path,
'CBB' )
1165 glm = lsamen( 3, path,
'GLM' )
1166 gqr = lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' )
1167 gsv = lsamen( 3, path,
'GSV' )
1168 csd = lsamen( 3, path,
'CSD' )
1169 lse = lsamen( 3, path,
'LSE' )
1170 cbl = lsamen( 3, path,
'CBL' )
1171 cbk = lsamen( 3, path,
'CBK' )
1172 cgl = lsamen( 3, path,
'CGL' )
1173 cgk = lsamen( 3, path,
'CGK' )
1177 IF( path.EQ.
' ' )
THEN
1180 WRITE( nout, fmt = 9987 )
1182 WRITE( nout, fmt = 9986 )
1184 WRITE( nout, fmt = 9985 )
1186 WRITE( nout, fmt = 9979 )
1188 WRITE( nout, fmt = 9978 )
1190 WRITE( nout, fmt = 9977 )
1192 WRITE( nout, fmt = 9976 )
1194 WRITE( nout, fmt = 9975 )
1196 WRITE( nout, fmt = 9964 )
1198 WRITE( nout, fmt = 9965 )
1200 WRITE( nout, fmt = 9963 )
1202 WRITE( nout, fmt = 9962 )
1204 WRITE( nout, fmt = 9974 )
1206 WRITE( nout, fmt = 9967 )
1208 WRITE( nout, fmt = 9971 )
1210 WRITE( nout, fmt = 9970 )
1212 WRITE( nout, fmt = 9969 )
1214 WRITE( nout, fmt = 9960 )
1216 WRITE( nout, fmt = 9968 )
1241 ELSE IF( lsamen( 3, path,
'CEC' ) )
THEN
1245 READ( nin, fmt = * )thresh
1249 CALL cchkec( thresh, tsterr, nin, nout )
1252 WRITE( nout, fmt = 9992 )path
1255 CALL ilaver( vers_major, vers_minor, vers_patch )
1256 WRITE( nout, fmt = 9972 ) vers_major, vers_minor, vers_patch
1257 WRITE( nout, fmt = 9984 )
1261 READ( nin, fmt = * )nn
1263 WRITE( nout, fmt = 9989 )
' NN ', nn, 1
1266 ELSE IF( nn.GT.maxin )
THEN
1267 WRITE( nout, fmt = 9988 )
' NN ', nn, maxin
1274 IF( .NOT.( cgx .OR. cxv ) )
THEN
1275 READ( nin, fmt = * )( mval( i ), i = 1, nn )
1282 IF( mval( i ).LT.0 )
THEN
1283 WRITE( nout, fmt = 9989 )vname, mval( i ), 0
1285 ELSE IF( mval( i ).GT.nmax )
THEN
1286 WRITE( nout, fmt = 9988 )vname, mval( i ), nmax
1290 WRITE( nout, fmt = 9983 )
'M: ', ( mval( i ), i = 1, nn )
1295 IF( glm .OR. gqr .OR. gsv .OR. csd .OR.
lse )
THEN
1296 READ( nin, fmt = * )( pval( i ), i = 1, nn )
1298 IF( pval( i ).LT.0 )
THEN
1299 WRITE( nout, fmt = 9989 )
' P ', pval( i ), 0
1301 ELSE IF( pval( i ).GT.nmax )
THEN
1302 WRITE( nout, fmt = 9988 )
' P ', pval( i ), nmax
1306 WRITE( nout, fmt = 9983 )
'P: ', ( pval( i ), i = 1, nn )
1311 IF( svd .OR. cbb .OR. glm .OR. gqr .OR. gsv .OR. csd .OR.
1313 READ( nin, fmt = * )( nval( i ), i = 1, nn )
1315 IF( nval( i ).LT.0 )
THEN
1316 WRITE( nout, fmt = 9989 )
' N ', nval( i ), 0
1318 ELSE IF( nval( i ).GT.nmax )
THEN
1319 WRITE( nout, fmt = 9988 )
' N ', nval( i ), nmax
1325 nval( i ) = mval( i )
1328 IF( .NOT.( cgx .OR. cxv ) )
THEN
1329 WRITE( nout, fmt = 9983 )
'N: ', ( nval( i ), i = 1, nn )
1331 WRITE( nout, fmt = 9983 )
'N: ', nn
1336 IF( chb .OR. cbb )
THEN
1337 READ( nin, fmt = * )nk
1338 READ( nin, fmt = * )( kval( i ), i = 1, nk )
1340 IF( kval( i ).LT.0 )
THEN
1341 WRITE( nout, fmt = 9989 )
' K ', kval( i ), 0
1343 ELSE IF( kval( i ).GT.nmax )
THEN
1344 WRITE( nout, fmt = 9988 )
' K ', kval( i ), nmax
1348 WRITE( nout, fmt = 9983 )
'K: ', ( kval( i ), i = 1, nk )
1351 IF( cev .OR. ces .OR. cvx .OR. csx )
THEN
1356 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1357 $ inmin( 1 ), inwin( 1 ), inibl(1), ishfts(1), iacc22(1)
1358 IF( nbval( 1 ).LT.1 )
THEN
1359 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1361 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1362 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1364 ELSE IF( nxval( 1 ).LT.1 )
THEN
1365 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1367 ELSE IF( inmin( 1 ).LT.1 )
THEN
1368 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( 1 ), 1
1370 ELSE IF( inwin( 1 ).LT.1 )
THEN
1371 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( 1 ), 1
1373 ELSE IF( inibl( 1 ).LT.1 )
THEN
1374 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( 1 ), 1
1376 ELSE IF( ishfts( 1 ).LT.1 )
THEN
1377 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( 1 ), 1
1379 ELSE IF( iacc22( 1 ).LT.0 )
THEN
1380 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( 1 ), 0
1383 CALL xlaenv( 1, nbval( 1 ) )
1384 CALL xlaenv( 2, nbmin( 1 ) )
1385 CALL xlaenv( 3, nxval( 1 ) )
1386 CALL xlaenv(12, max( 11, inmin( 1 ) ) )
1387 CALL xlaenv(13, inwin( 1 ) )
1388 CALL xlaenv(14, inibl( 1 ) )
1389 CALL xlaenv(15, ishfts( 1 ) )
1390 CALL xlaenv(16, iacc22( 1 ) )
1391 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1392 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1393 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1394 WRITE( nout, fmt = 9983 )
'INMIN: ', inmin( 1 )
1395 WRITE( nout, fmt = 9983 )
'INWIN: ', inwin( 1 )
1396 WRITE( nout, fmt = 9983 )
'INIBL: ', inibl( 1 )
1397 WRITE( nout, fmt = 9983 )
'ISHFTS: ', ishfts( 1 )
1398 WRITE( nout, fmt = 9983 )
'IACC22: ', iacc22( 1 )
1400 ELSE IF( cgs .OR. cgx .OR. cgv .OR. cxv )
THEN
1405 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1406 $ nsval( 1 ), mxbval( 1 )
1407 IF( nbval( 1 ).LT.1 )
THEN
1408 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1410 ELSE IF( nbmin( 1 ).LT.1 )
THEN
1411 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1413 ELSE IF( nxval( 1 ).LT.1 )
THEN
1414 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1416 ELSE IF( nsval( 1 ).LT.2 )
THEN
1417 WRITE( nout, fmt = 9989 )
' NS ', nsval( 1 ), 2
1419 ELSE IF( mxbval( 1 ).LT.1 )
THEN
1420 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( 1 ), 1
1423 CALL xlaenv( 1, nbval( 1 ) )
1424 CALL xlaenv( 2, nbmin( 1 ) )
1425 CALL xlaenv( 3, nxval( 1 ) )
1426 CALL xlaenv( 4, nsval( 1 ) )
1427 CALL xlaenv( 8, mxbval( 1 ) )
1428 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1429 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1430 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1431 WRITE( nout, fmt = 9983 )
'NS: ', nsval( 1 )
1432 WRITE( nout, fmt = 9983 )
'MAXB: ', mxbval( 1 )
1433 ELSE IF( .NOT.chb .AND. .NOT.glm .AND. .NOT.gqr .AND. .NOT.
1434 $ gsv .AND. .NOT.csd .AND. .NOT.
lse )
THEN
1439 READ( nin, fmt = * )nparms
1440 IF( nparms.LT.1 )
THEN
1441 WRITE( nout, fmt = 9989 )
'NPARMS', nparms, 1
1444 ELSE IF( nparms.GT.maxin )
THEN
1445 WRITE( nout, fmt = 9988 )
'NPARMS', nparms, maxin
1453 READ( nin, fmt = * )( nbval( i ), i = 1, nparms )
1455 IF( nbval( i ).LT.0 )
THEN
1456 WRITE( nout, fmt = 9989 )
' NB ', nbval( i ), 0
1458 ELSE IF( nbval( i ).GT.nmax )
THEN
1459 WRITE( nout, fmt = 9988 )
' NB ', nbval( i ), nmax
1463 WRITE( nout, fmt = 9983 )
'NB: ',
1464 $ ( nbval( i ), i = 1, nparms )
1469 IF( nep .OR. sep .OR. svd .OR. cgg )
THEN
1470 READ( nin, fmt = * )( nbmin( i ), i = 1, nparms )
1472 IF( nbmin( i ).LT.0 )
THEN
1473 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( i ), 0
1475 ELSE IF( nbmin( i ).GT.nmax )
THEN
1476 WRITE( nout, fmt = 9988 )
'NBMIN ', nbmin( i ), nmax
1480 WRITE( nout, fmt = 9983 )
'NBMIN:',
1481 $ ( nbmin( i ), i = 1, nparms )
1490 IF( nep .OR. sep .OR. svd )
THEN
1491 READ( nin, fmt = * )( nxval( i ), i = 1, nparms )
1492 DO 100 i = 1, nparms
1493 IF( nxval( i ).LT.0 )
THEN
1494 WRITE( nout, fmt = 9989 )
' NX ', nxval( i ), 0
1496 ELSE IF( nxval( i ).GT.nmax )
THEN
1497 WRITE( nout, fmt = 9988 )
' NX ', nxval( i ), nmax
1501 WRITE( nout, fmt = 9983 )
'NX: ',
1502 $ ( nxval( i ), i = 1, nparms )
1504 DO 110 i = 1, nparms
1512 IF( svd .OR. cbb .OR. cgg )
THEN
1513 READ( nin, fmt = * )( nsval( i ), i = 1, nparms )
1514 DO 120 i = 1, nparms
1515 IF( nsval( i ).LT.0 )
THEN
1516 WRITE( nout, fmt = 9989 )
' NS ', nsval( i ), 0
1518 ELSE IF( nsval( i ).GT.nmax )
THEN
1519 WRITE( nout, fmt = 9988 )
' NS ', nsval( i ), nmax
1523 WRITE( nout, fmt = 9983 )
'NS: ',
1524 $ ( nsval( i ), i = 1, nparms )
1526 DO 130 i = 1, nparms
1534 READ( nin, fmt = * )( mxbval( i ), i = 1, nparms )
1535 DO 140 i = 1, nparms
1536 IF( mxbval( i ).LT.0 )
THEN
1537 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( i ), 0
1539 ELSE IF( mxbval( i ).GT.nmax )
THEN
1540 WRITE( nout, fmt = 9988 )
' MAXB ', mxbval( i ), nmax
1544 WRITE( nout, fmt = 9983 )
'MAXB: ',
1545 $ ( mxbval( i ), i = 1, nparms )
1547 DO 150 i = 1, nparms
1555 READ( nin, fmt = * )( inmin( i ), i = 1, nparms )
1556 DO 540 i = 1, nparms
1557 IF( inmin( i ).LT.0 )
THEN
1558 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( i ), 0
1562 WRITE( nout, fmt = 9983 )
'INMIN: ',
1563 $ ( inmin( i ), i = 1, nparms )
1565 DO 550 i = 1, nparms
1573 READ( nin, fmt = * )( inwin( i ), i = 1, nparms )
1574 DO 560 i = 1, nparms
1575 IF( inwin( i ).LT.0 )
THEN
1576 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( i ), 0
1580 WRITE( nout, fmt = 9983 )
'INWIN: ',
1581 $ ( inwin( i ), i = 1, nparms )
1583 DO 570 i = 1, nparms
1591 READ( nin, fmt = * )( inibl( i ), i = 1, nparms )
1592 DO 580 i = 1, nparms
1593 IF( inibl( i ).LT.0 )
THEN
1594 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( i ), 0
1598 WRITE( nout, fmt = 9983 )
'INIBL: ',
1599 $ ( inibl( i ), i = 1, nparms )
1601 DO 590 i = 1, nparms
1609 READ( nin, fmt = * )( ishfts( i ), i = 1, nparms )
1610 DO 600 i = 1, nparms
1611 IF( ishfts( i ).LT.0 )
THEN
1612 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( i ), 0
1616 WRITE( nout, fmt = 9983 )
'ISHFTS: ',
1617 $ ( ishfts( i ), i = 1, nparms )
1619 DO 610 i = 1, nparms
1626 IF( nep .OR. cgg )
THEN
1627 READ( nin, fmt = * )( iacc22( i ), i = 1, nparms )
1628 DO 620 i = 1, nparms
1629 IF( iacc22( i ).LT.0 )
THEN
1630 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( i ), 0
1634 WRITE( nout, fmt = 9983 )
'IACC22: ',
1635 $ ( iacc22( i ), i = 1, nparms )
1637 DO 630 i = 1, nparms
1645 READ( nin, fmt = * )( nbcol( i ), i = 1, nparms )
1646 DO 160 i = 1, nparms
1647 IF( nbcol( i ).LT.0 )
THEN
1648 WRITE( nout, fmt = 9989 )
'NBCOL ', nbcol( i ), 0
1650 ELSE IF( nbcol( i ).GT.nmax )
THEN
1651 WRITE( nout, fmt = 9988 )
'NBCOL ', nbcol( i ), nmax
1655 WRITE( nout, fmt = 9983 )
'NBCOL:',
1656 $ ( nbcol( i ), i = 1, nparms )
1658 DO 170 i = 1, nparms
1666 WRITE( nout, fmt = * )
1667 eps = slamch(
'Underflow threshold' )
1668 WRITE( nout, fmt = 9981 )
'underflow', eps
1669 eps = slamch(
'Overflow threshold' )
1670 WRITE( nout, fmt = 9981 )
'overflow ', eps
1671 eps = slamch(
'Epsilon' )
1672 WRITE( nout, fmt = 9981 )
'precision', eps
1676 READ( nin, fmt = * )thresh
1677 WRITE( nout, fmt = 9982 )thresh
1678 IF( sep .OR. svd .OR. cgg )
THEN
1682 READ( nin, fmt = * )tstchk
1686 READ( nin, fmt = * )tstdrv
1691 READ( nin, fmt = * )tsterr
1695 READ( nin, fmt = * )newsd
1700 $
READ( nin, fmt = * )( ioldsd( i ), i = 1, 4 )
1703 iseed( i ) = ioldsd( i )
1707 WRITE( nout, fmt = 9999 )
1718 IF( .NOT.( cgx .OR. cxv ) )
THEN
1721 READ( nin, fmt =
'(A80)', end = 380 )line
1729 IF( i.GT.lenp )
THEN
1737 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN
1744 IF( c1.EQ.intstr( k: k ) )
THEN
1749 WRITE( nout, fmt = 9991 )i, line
1754 ELSE IF( i1.GT.0 )
THEN
1764 IF( .NOT.( cev .OR. ces .OR. cvx .OR. csx .OR. cgv .OR.
1765 $ cgs ) .AND. ntypes.LE.0 )
THEN
1766 WRITE( nout, fmt = 9990 )c3
1779 IF( newsd.EQ.0 )
THEN
1781 iseed( k ) = ioldsd( k )
1785 IF( lsamen( 3, c3,
'CHS' ) .OR. lsamen( 3, c3,
'NEP' ) )
THEN
1798 ntypes = min( maxtyp, ntypes )
1799 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1802 $
CALL cerrhs(
'CHSEQR', nout )
1803 DO 270 i = 1, nparms
1804 CALL xlaenv( 1, nbval( i ) )
1805 CALL xlaenv( 2, nbmin( i ) )
1806 CALL xlaenv( 3, nxval( i ) )
1807 CALL xlaenv(12, max( 11, inmin( i ) ) )
1808 CALL xlaenv(13, inwin( i ) )
1809 CALL xlaenv(14, inibl( i ) )
1810 CALL xlaenv(15, ishfts( i ) )
1811 CALL xlaenv(16, iacc22( i ) )
1813 IF( newsd.EQ.0 )
THEN
1815 iseed( k ) = ioldsd( k )
1818 WRITE( nout, fmt = 9961 )c3, nbval( i ), nbmin( i ),
1819 $ nxval( i ), max( 11, inmin(i)),
1820 $ inwin( i ), inibl( i ), ishfts( i ), iacc22( i )
1821 CALL cchkhs( nn, nval, maxtyp, dotype, iseed, thresh, nout,
1822 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
1823 $ a( 1, 4 ), a( 1, 5 ), nmax, a( 1, 6 ),
1824 $ a( 1, 7 ), dc( 1, 1 ), dc( 1, 2 ), a( 1, 8 ),
1825 $ a( 1, 9 ), a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
1826 $ dc( 1, 3 ), work, lwork, rwork, iwork, logwrk,
1829 $
WRITE( nout, fmt = 9980 )
'CCHKHS', info
1832 ELSE IF( lsamen( 3, c3,
'CST' ) .OR. lsamen( 3, c3,
'SEP' ) )
THEN
1843 ntypes = min( maxtyp, ntypes )
1844 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1848 $
CALL cerrst(
'CST', nout )
1849 DO 290 i = 1, nparms
1850 CALL xlaenv( 1, nbval( i ) )
1851 CALL xlaenv( 2, nbmin( i ) )
1852 CALL xlaenv( 3, nxval( i ) )
1854 IF( newsd.EQ.0 )
THEN
1856 iseed( k ) = ioldsd( k )
1859 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1862 CALL cchkst( nn, nval, maxtyp, dotype, iseed, thresh,
1863 $ nout, a( 1, 1 ), nmax, a( 1, 2 ),
1864 $ dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
1865 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
1866 $ dr( 1, 7 ), dr( 1, 8 ), dr( 1, 9 ),
1867 $ dr( 1, 10 ), dr( 1, 11 ), a( 1, 3 ), nmax,
1868 $ a( 1, 4 ), a( 1, 5 ), dc( 1, 1 ), a( 1, 6 ),
1869 $ work, lwork, rwork, lwork, iwork, liwork,
1872 $
WRITE( nout, fmt = 9980 )
'CCHKST', info
1875 CALL cdrvst( nn, nval, 18, dotype, iseed, thresh, nout,
1876 $ a( 1, 1 ), nmax, dr( 1, 3 ), dr( 1, 4 ),
1877 $ dr( 1, 5 ), dr( 1, 8 ), dr( 1, 9 ),
1878 $ dr( 1, 10 ), a( 1, 2 ), nmax, a( 1, 3 ),
1879 $ dc( 1, 1 ), a( 1, 4 ), work, lwork, rwork,
1880 $ lwork, iwork, liwork, result, info )
1882 $
WRITE( nout, fmt = 9980 )
'CDRVST', info
1886 ELSE IF( lsamen( 3, c3,
'CSG' ) )
THEN
1897 ntypes = min( maxtyp, ntypes )
1898 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1900 DO 310 i = 1, nparms
1901 CALL xlaenv( 1, nbval( i ) )
1902 CALL xlaenv( 2, nbmin( i ) )
1903 CALL xlaenv( 3, nxval( i ) )
1905 IF( newsd.EQ.0 )
THEN
1907 iseed( k ) = ioldsd( k )
1910 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1913 CALL cdrvsg( nn, nval, maxtyp, dotype, iseed, thresh,
1914 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1915 $ dr( 1, 3 ), a( 1, 3 ), nmax, a( 1, 4 ),
1916 $ a( 1, 5 ), a( 1, 6 ), a( 1, 7 ), work,
1917 $ lwork, rwork, lwork, iwork, liwork, result,
1920 $
WRITE( nout, fmt = 9980 )
'CDRVSG', info
1924 ELSE IF( lsamen( 3, c3,
'CBD' ) .OR. lsamen( 3, c3,
'SVD' ) )
THEN
1936 ntypes = min( maxtyp, ntypes )
1937 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1943 IF( tsterr .AND. tstchk )
1944 $
CALL cerrbd(
'CBD', nout )
1945 IF( tsterr .AND. tstdrv )
1946 $
CALL cerred(
'CBD', nout )
1948 DO 330 i = 1, nparms
1950 CALL xlaenv( 1, nbval( i ) )
1951 CALL xlaenv( 2, nbmin( i ) )
1952 CALL xlaenv( 3, nxval( i ) )
1953 IF( newsd.EQ.0 )
THEN
1955 iseed( k ) = ioldsd( k )
1958 WRITE( nout, fmt = 9995 )c3, nbval( i ), nbmin( i ),
1961 CALL cchkbd( nn, mval, nval, maxtyp, dotype, nrhs, iseed,
1962 $ thresh, a( 1, 1 ), nmax, dr( 1, 1 ),
1963 $ dr( 1, 2 ), dr( 1, 3 ), dr( 1, 4 ),
1964 $ a( 1, 2 ), nmax, a( 1, 3 ), a( 1, 4 ),
1965 $ a( 1, 5 ), nmax, a( 1, 6 ), nmax, a( 1, 7 ),
1966 $ a( 1, 8 ), work, lwork, rwork, nout, info )
1968 $
WRITE( nout, fmt = 9980 )
'CCHKBD', info
1971 $
CALL cdrvbd( nn, mval, nval, maxtyp, dotype, iseed,
1972 $ thresh, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1973 $ a( 1, 3 ), nmax, a( 1, 4 ), a( 1, 5 ),
1974 $ a( 1, 6 ), dr( 1, 1 ), dr( 1, 2 ),
1975 $ dr( 1, 3 ), work, lwork, rwork, iwork, nout,
1979 ELSE IF( lsamen( 3, c3,
'CEV' ) )
THEN
1987 ntypes = min( maxtyp, ntypes )
1988 IF( ntypes.LE.0 )
THEN
1989 WRITE( nout, fmt = 9990 )c3
1992 $
CALL cerred( c3, nout )
1993 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1994 CALL cdrvev( nn, nval, ntypes, dotype, iseed, thresh, nout,
1995 $ a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
1996 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
1997 $ a( 1, 5 ), nmax, result, work, lwork, rwork,
2000 $
WRITE( nout, fmt = 9980 )
'CGEEV', info
2002 WRITE( nout, fmt = 9973 )
2005 ELSE IF( lsamen( 3, c3,
'CES' ) )
THEN
2013 ntypes = min( maxtyp, ntypes )
2014 IF( ntypes.LE.0 )
THEN
2015 WRITE( nout, fmt = 9990 )c3
2018 $
CALL cerred( c3, nout )
2019 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2020 CALL cdrves( nn, nval, ntypes, dotype, iseed, thresh, nout,
2021 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2022 $ dc( 1, 1 ), dc( 1, 2 ), a( 1, 4 ), nmax,
2023 $ result, work, lwork, rwork, iwork, logwrk,
2026 $
WRITE( nout, fmt = 9980 )
'CGEES', info
2028 WRITE( nout, fmt = 9973 )
2031 ELSE IF( lsamen( 3, c3,
'CVX' ) )
THEN
2039 ntypes = min( maxtyp, ntypes )
2040 IF( ntypes.LT.0 )
THEN
2041 WRITE( nout, fmt = 9990 )c3
2044 $
CALL cerred( c3, nout )
2045 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2046 CALL cdrvvx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2047 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
2048 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
2049 $ a( 1, 5 ), nmax, dr( 1, 1 ), dr( 1, 2 ),
2050 $ dr( 1, 3 ), dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
2051 $ dr( 1, 7 ), dr( 1, 8 ), result, work, lwork,
2054 $
WRITE( nout, fmt = 9980 )
'CGEEVX', info
2056 WRITE( nout, fmt = 9973 )
2059 ELSE IF( lsamen( 3, c3,
'CSX' ) )
THEN
2067 ntypes = min( maxtyp, ntypes )
2068 IF( ntypes.LT.0 )
THEN
2069 WRITE( nout, fmt = 9990 )c3
2072 $
CALL cerred( c3, nout )
2073 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2074 CALL cdrvsx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2075 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2076 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ), a( 1, 4 ),
2077 $ nmax, a( 1, 5 ), result, work, lwork, rwork,
2080 $
WRITE( nout, fmt = 9980 )
'CGEESX', info
2082 WRITE( nout, fmt = 9973 )
2085 ELSE IF( lsamen( 3, c3,
'CGG' ) )
THEN
2099 ntypes = min( maxtyp, ntypes )
2100 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2102 IF( tstchk .AND. tsterr )
2103 $
CALL cerrgg( c3, nout )
2104 DO 350 i = 1, nparms
2105 CALL xlaenv( 1, nbval( i ) )
2106 CALL xlaenv( 2, nbmin( i ) )
2107 CALL xlaenv( 4, nsval( i ) )
2108 CALL xlaenv( 8, mxbval( i ) )
2109 CALL xlaenv( 16, iacc22( i ) )
2110 CALL xlaenv( 5, nbcol( i ) )
2112 IF( newsd.EQ.0 )
THEN
2114 iseed( k ) = ioldsd( k )
2117 WRITE( nout, fmt = 9996 )c3, nbval( i ), nbmin( i ),
2118 $ nsval( i ), mxbval( i ), iacc22( i ), nbcol( i )
2122 CALL cchkgg( nn, nval, maxtyp, dotype, iseed, thresh,
2123 $ tstdif, thrshn, nout, a( 1, 1 ), nmax,
2124 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2125 $ a( 1, 6 ), a( 1, 7 ), a( 1, 8 ), a( 1, 9 ),
2126 $ nmax, a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
2127 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ),
2128 $ dc( 1, 4 ), a( 1, 13 ), a( 1, 14 ), work,
2129 $ lwork, rwork, logwrk, result, info )
2131 $
WRITE( nout, fmt = 9980 )
'CCHKGG', info
2135 ELSE IF( lsamen( 3, c3,
'CGS' ) )
THEN
2143 ntypes = min( maxtyp, ntypes )
2144 IF( ntypes.LE.0 )
THEN
2145 WRITE( nout, fmt = 9990 )c3
2148 $
CALL cerrgg( c3, nout )
2149 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2150 CALL cdrges( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2151 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2152 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2153 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2154 $ result, logwrk, info )
2157 $
WRITE( nout, fmt = 9980 )
'CDRGES', info
2162 CALL cdrges3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2163 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2164 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2165 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2166 $ result, logwrk, info )
2169 $
WRITE( nout, fmt = 9980 )
'CDRGES3', info
2171 WRITE( nout, fmt = 9973 )
2185 WRITE( nout, fmt = 9990 )c3
2188 $
CALL cerrgg( c3, nout )
2189 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2191 CALL cdrgsx( nn, ncmax, thresh, nin, nout, a( 1, 1 ), nmax,
2192 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2193 $ a( 1, 6 ), dc( 1, 1 ), dc( 1, 2 ), c,
2194 $ ncmax*ncmax, s, work, lwork, rwork, iwork,
2195 $ liwork, logwrk, info )
2197 $
WRITE( nout, fmt = 9980 )
'CDRGSX', info
2199 WRITE( nout, fmt = 9973 )
2202 ELSE IF( lsamen( 3, c3,
'CGV' ) )
THEN
2210 ntypes = min( maxtyp, ntypes )
2211 IF( ntypes.LE.0 )
THEN
2212 WRITE( nout, fmt = 9990 )c3
2215 $
CALL cerrgg( c3, nout )
2216 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2217 CALL cdrgev( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2218 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2219 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2220 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2221 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2224 $
WRITE( nout, fmt = 9980 )
'CDRGEV', info
2229 CALL cdrgev3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2230 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2231 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2232 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2233 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2236 $
WRITE( nout, fmt = 9980 )
'CDRGEV3', info
2238 WRITE( nout, fmt = 9973 )
2251 WRITE( nout, fmt = 9990 )c3
2254 $
CALL cerrgg( c3, nout )
2255 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2256 CALL cdrgvx( nn, thresh, nin, nout, a( 1, 1 ), nmax,
2257 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), dc( 1, 1 ),
2258 $ dc( 1, 2 ), a( 1, 5 ), a( 1, 6 ), iwork( 1 ),
2259 $ iwork( 2 ), dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
2260 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ), work,
2261 $ lwork, rwork, iwork( 3 ), liwork-2, result,
2265 $
WRITE( nout, fmt = 9980 )
'CDRGVX', info
2267 WRITE( nout, fmt = 9973 )
2270 ELSE IF( lsamen( 3, c3,
'CHB' ) )
THEN
2277 ntypes = min( maxtyp, ntypes )
2278 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2280 $
CALL cerrst(
'CHB', nout )
2281 CALL cchkhb( nn, nval, nk, kval, maxtyp, dotype, iseed, thresh,
2282 $ nout, a( 1, 1 ), nmax, dr( 1, 1 ), dr( 1, 2 ),
2283 $ a( 1, 2 ), nmax, work, lwork, rwork, result,
2286 $
WRITE( nout, fmt = 9980 )
'CCHKHB', info
2288 ELSE IF( lsamen( 3, c3,
'CBB' ) )
THEN
2295 ntypes = min( maxtyp, ntypes )
2296 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2297 DO 370 i = 1, nparms
2300 IF( newsd.EQ.0 )
THEN
2302 iseed( k ) = ioldsd( k )
2305 WRITE( nout, fmt = 9966 )c3, nrhs
2306 CALL cchkbb( nn, mval, nval, nk, kval, maxtyp, dotype, nrhs,
2307 $ iseed, thresh, nout, a( 1, 1 ), nmax,
2308 $ a( 1, 2 ), 2*nmax, dr( 1, 1 ), dr( 1, 2 ),
2309 $ a( 1, 4 ), nmax, a( 1, 5 ), nmax, a( 1, 6 ),
2310 $ nmax, a( 1, 7 ), work, lwork, rwork, result,
2313 $
WRITE( nout, fmt = 9980 )
'CCHKBB', info
2316 ELSE IF( lsamen( 3, c3,
'GLM' ) )
THEN
2324 $
CALL cerrgg(
'GLM', nout )
2325 CALL cckglm( nn, nval, mval, pval, ntypes, iseed, thresh, nmax,
2326 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2327 $ work, dr( 1, 1 ), nin, nout, info )
2329 $
WRITE( nout, fmt = 9980 )
'CCKGLM', info
2331 ELSE IF( lsamen( 3, c3,
'GQR' ) )
THEN
2339 $
CALL cerrgg(
'GQR', nout )
2340 CALL cckgqr( nn, mval, nn, pval, nn, nval, ntypes, iseed,
2341 $ thresh, nmax, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
2342 $ a( 1, 4 ), taua, b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
2343 $ b( 1, 4 ), b( 1, 5 ), taub, work, dr( 1, 1 ), nin,
2346 $
WRITE( nout, fmt = 9980 )
'CCKGQR', info
2348 ELSE IF( lsamen( 3, c3,
'GSV' ) )
THEN
2356 $
CALL cerrgg(
'GSV', nout )
2357 CALL cckgsv( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2358 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
2359 $ a( 1, 3 ), b( 1, 3 ), a( 1, 4 ), alpha, beta,
2360 $ b( 1, 4 ), iwork, work, dr( 1, 1 ), nin, nout,
2363 $
WRITE( nout, fmt = 9980 )
'CCKGSV', info
2365 ELSE IF( lsamen( 3, c3,
'CSD' ) )
THEN
2373 $
CALL cerrgg(
'CSD', nout )
2374 CALL cckcsd( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2375 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), a( 1, 4 ),
2376 $ a( 1, 5 ), a( 1, 6 ), rwork, iwork, work,
2377 $ dr( 1, 1 ), nin, nout, info )
2379 $
WRITE( nout, fmt = 9980 )
'CCKCSD', info
2381 ELSE IF( lsamen( 3, c3,
'LSE' ) )
THEN
2389 $
CALL cerrgg(
'LSE', nout )
2390 CALL ccklse( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2391 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2392 $ work, dr( 1, 1 ), nin, nout, info )
2394 $
WRITE( nout, fmt = 9980 )
'CCKLSE', info
2396 WRITE( nout, fmt = * )
2397 WRITE( nout, fmt = * )
2398 WRITE( nout, fmt = 9992 )c3
2400 IF( .NOT.( cgx .OR. cxv ) )
2403 WRITE( nout, fmt = 9994 )
2405 WRITE( nout, fmt = 9993 )s2 - s1
2407 9999
FORMAT( /
' Execution not attempted due to input errors' )
2408 9997
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4 )
2409 9996
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NS =', i4,
2410 $
', MAXB =', i4,
', IACC22 =', i4,
', NBCOL =', i4 )
2411 9995
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2413 9994
FORMAT( / /
' End of tests' )
2414 9993
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
2415 9992
FORMAT( 1x, a3,
': Unrecognized path name' )
2416 9991
FORMAT( / /
' *** Invalid integer value in column ', i2,
2417 $
' of input',
' line:', / a79 )
2418 9990
FORMAT( / / 1x, a3,
' routines were not tested' )
2419 9989
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be >=',
2421 9988
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be <=',
2423 9987
FORMAT(
' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2424 9986
FORMAT(
' Tests of the Hermitian Eigenvalue Problem routines' )
2425 9985
FORMAT(
' Tests of the Singular Value Decomposition routines' )
2426 9984
FORMAT( /
' The following parameter values will be used:' )
2427 9983
FORMAT( 4x, a, 10i6, / 10x, 10i6 )
2428 9982
FORMAT( /
' Routines pass computational tests if test ratio is ',
2429 $
'less than', f8.2, / )
2430 9981
FORMAT(
' Relative machine ', a,
' is taken to be', e16.6 )
2431 9980
FORMAT(
' *** Error code from ', a,
' = ', i4 )
2432 9979
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2433 $ /
' CGEEV (eigenvalues and eigevectors)' )
2434 9978
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2435 $ /
' CGEES (Schur form)' )
2436 9977
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2437 $
' Driver', /
' CGEEVX (eigenvalues, eigenvectors and',
2438 $
' condition numbers)' )
2439 9976
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2440 $
' Driver', /
' CGEESX (Schur form and condition',
2442 9975
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2443 $
'Problem routines' )
2444 9974
FORMAT(
' Tests of CHBTRD', /
' (reduction of a Hermitian band ',
2445 $
'matrix to real tridiagonal form)' )
2446 9973
FORMAT( / 1x, 71(
'-' ) )
2447 9972
FORMAT( /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1 )
2448 9971
FORMAT( /
' Tests of the Generalized Linear Regression Model ',
2450 9970
FORMAT( /
' Tests of the Generalized QR and RQ routines' )
2451 9969
FORMAT( /
' Tests of the Generalized Singular Value',
2452 $
' Decomposition routines' )
2453 9968
FORMAT( /
' Tests of the Linear Least Squares routines' )
2454 9967
FORMAT(
' Tests of CGBBRD', /
' (reduction of a general band ',
2455 $
'matrix to real bidiagonal form)' )
2456 9966
FORMAT( / / 1x, a3,
': NRHS =', i4 )
2457 9965
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2458 $
'Problem Expert Driver CGGESX' )
2459 9964
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2460 $
'Problem Driver CGGES' )
2461 9963
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2462 $
'Problem Driver CGGEV' )
2463 9962
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2464 $
'Problem Expert Driver CGGEVX' )
2465 9961
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2467 $
', INWIN =', i4,
', INIBL =', i4,
', ISHFTS =', i4,
2469 9960
FORMAT( /
' Tests of the CS Decomposition routines' )
subroutine cchkbb(NSIZES, MVAL, NVAL, NWDTHS, KK, NTYPES, DOTYPE, NRHS, ISEED, THRESH, NOUNIT, A, LDA, AB, LDAB, BD, BE, Q, LDQ, P, LDP, C, LDC, CC, WORK, LWORK, RWORK, RESULT, INFO)
CCHKBB
subroutine cdrvbd(NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, A, LDA, U, LDU, VT, LDVT, ASAV, USAV, VTSAV, S, SSAV, E, WORK, LWORK, RWORK, IWORK, NOUNIT, INFO)
CDRVBD
subroutine cerred(PATH, NUNIT)
CERRED
subroutine cdrvvx(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NIUNIT, NOUNIT, A, LDA, H, W, W1, VL, LDVL, VR, LDVR, LRE, LDLRE, RCONDV, RCNDV1, RCDVIN, RCONDE, RCNDE1, RCDEIN, SCALE, SCALE1, RESULT, WORK, NWORK, RWORK, INFO)
CDRVVX
subroutine cchkhs(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, T1, T2, U, LDU, Z, UZ, W1, W3, EVECTL, EVECTR, EVECTY, EVECTX, UU, TAU, WORK, NWORK, RWORK, IWORK, SELECT, RESULT, INFO)
CCHKHS
subroutine cchkbk(NIN, NOUT)
CCHKBK
subroutine cchkgg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, TSTDIF, THRSHN, NOUNIT, A, LDA, B, H, T, S1, S2, P1, P2, U, LDU, V, Q, Z, ALPHA1, BETA1, ALPHA3, BETA3, EVECTL, EVECTR, WORK, LWORK, RWORK, LLWORK, RESULT, INFO)
CCHKGG
subroutine cdrves(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, HT, W, WT, VS, LDVS, RESULT, WORK, NWORK, RWORK, IWORK, BWORK, INFO)
CDRVES
subroutine cdrgsx(NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, AI, BI, Z, Q, ALPHA, BETA, C, LDC, S, WORK, LWORK, RWORK, IWORK, LIWORK, BWORK, INFO)
CDRGSX
subroutine cckgsv(NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, U, V, Q, ALPHA, BETA, R, IWORK, WORK, RWORK, NIN, NOUT, INFO)
CCKGSV
subroutine cdrvsx(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NIUNIT, NOUNIT, A, LDA, H, HT, W, WT, WTMP, VS, LDVS, VS1, RESULT, WORK, LWORK, RWORK, BWORK, INFO)
CDRVSX
subroutine cdrvsg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, LDB, D, Z, LDZ, AB, BB, AP, BP, WORK, NWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
CDRVSG
subroutine cdrgev3(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, QE, LDQE, ALPHA, BETA, ALPHA1, BETA1, WORK, LWORK, RWORK, RESULT, INFO)
CDRGEV3
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine cchkst(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, AP, SD, SE, D1, D2, D3, D4, D5, WA1, WA2, WA3, WR, U, LDU, V, VP, TAU, Z, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
CCHKST
subroutine xlaenv(ISPEC, NVALUE)
XLAENV
subroutine cckcsd(NM, MVAL, PVAL, QVAL, NMATS, ISEED, THRESH, MMAX, X, XF, U1, U2, V1T, V2T, THETA, IWORK, WORK, RWORK, NIN, NOUT, INFO)
CCKCSD
logical function lse(RI, RJ, LR)
subroutine ccklse(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
CCKLSE
subroutine cchkgk(NIN, NOUT)
CCHKGK
subroutine cerrbd(PATH, NUNIT)
CERRBD
subroutine cdrvst(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, D1, D2, D3, WA1, WA2, WA3, U, LDU, V, TAU, Z, WORK, LWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
CDRVST
subroutine cdrges3(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHA, BETA, WORK, LWORK, RWORK, RESULT, BWORK, INFO)
CDRGES3
subroutine cdrgvx(NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, ALPHA, BETA, VL, VR, ILO, IHI, LSCALE, RSCALE, S, STRU, DIF, DIFTRU, WORK, LWORK, RWORK, IWORK, LIWORK, RESULT, BWORK, INFO)
CDRGVX
subroutine cchkec(THRESH, TSTERR, NIN, NOUT)
CCHKEC
subroutine cchkbl(NIN, NOUT)
CCHKBL
subroutine cchkbd(NSIZES, MVAL, NVAL, NTYPES, DOTYPE, NRHS, ISEED, THRESH, A, LDA, BD, BE, S1, S2, X, LDX, Y, Z, Q, LDQ, PT, LDPT, U, VT, WORK, LWORK, RWORK, NOUT, INFO)
CCHKBD
subroutine cdrgev(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, QE, LDQE, ALPHA, BETA, ALPHA1, BETA1, WORK, LWORK, RWORK, RESULT, INFO)
CDRGEV
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine cerrhs(PATH, NUNIT)
CERRHS
subroutine cckgqr(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)
CCKGQR
subroutine cerrgg(PATH, NUNIT)
CERRGG
subroutine cdrvev(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, H, W, W1, VL, LDVL, VR, LDVR, LRE, LDLRE, RESULT, WORK, NWORK, RWORK, IWORK, INFO)
CDRVEV
subroutine cdrges(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, S, T, Q, LDQ, Z, ALPHA, BETA, WORK, LWORK, RWORK, RESULT, BWORK, INFO)
CDRGES
subroutine cchkhb(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, U, LDU, WORK, LWORK, RWORK, RESULT, INFO)
CCHKHB
subroutine cchkgl(NIN, NOUT)
CCHKGL
subroutine cckglm(NN, NVAL, MVAL, PVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
CCKGLM
subroutine cerrst(PATH, NUNIT)
CERRST