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
1114 INTEGER INFOT, MAXB, NPROC, NSHIFT, NUNIT, SELDIM,
1118 LOGICAL SELVAL( 20 )
1119 INTEGER IPARMS( 100 )
1120 REAL SELWI( 20 ), SELWR( 20 )
1123 COMMON / cenvir / nproc, nshift, maxb
1124 COMMON / claenv / iparms
1125 COMMON / infoc / infot, nunit, ok, lerr
1126 COMMON / srnamc / srnamt
1127 COMMON / sslct / selopt, seldim, selval, selwr, selwi
1130 DATA intstr /
'0123456789' /
1131 DATA ioldsd / 0, 0, 0, 1 /
1149 READ( nin, fmt =
'(A80)', end = 380 )line
1151 nep = lsamen( 3, path,
'NEP' ) .OR. lsamen( 3, path,
'CHS' )
1152 sep = lsamen( 3, path,
'SEP' ) .OR. lsamen( 3, path,
'CST' ) .OR.
1153 $ lsamen( 3, path,
'CSG' ) .OR. lsamen( 3, path,
'SE2' )
1154 svd = lsamen( 3, path,
'SVD' ) .OR. lsamen( 3, path,
'CBD' )
1155 cev = lsamen( 3, path,
'CEV' )
1156 ces = lsamen( 3, path,
'CES' )
1157 cvx = lsamen( 3, path,
'CVX' )
1158 csx = lsamen( 3, path,
'CSX' )
1159 cgg = lsamen( 3, path,
'CGG' )
1160 cgs = lsamen( 3, path,
'CGS' )
1161 cgx = lsamen( 3, path,
'CGX' )
1162 cgv = lsamen( 3, path,
'CGV' )
1163 cxv = lsamen( 3, path,
'CXV' )
1164 chb = lsamen( 3, path,
'CHB' )
1165 cbb = lsamen( 3, path,
'CBB' )
1166 glm = lsamen( 3, path,
'GLM' )
1167 gqr = lsamen( 3, path,
'GQR' ) .OR. lsamen( 3, path,
'GRQ' )
1168 gsv = lsamen( 3, path,
'GSV' )
1169 csd = lsamen( 3, path,
'CSD' )
1170 lse = lsamen( 3, path,
'LSE' )
1171 cbl = lsamen( 3, path,
'CBL' )
1172 cbk = lsamen( 3, path,
'CBK' )
1173 cgl = lsamen( 3, path,
'CGL' )
1174 cgk = lsamen( 3, path,
'CGK' )
1178 IF( path.EQ.
' ' )
THEN 1181 WRITE( nout, fmt = 9987 )
1183 WRITE( nout, fmt = 9986 )
1185 WRITE( nout, fmt = 9985 )
1187 WRITE( nout, fmt = 9979 )
1189 WRITE( nout, fmt = 9978 )
1191 WRITE( nout, fmt = 9977 )
1193 WRITE( nout, fmt = 9976 )
1195 WRITE( nout, fmt = 9975 )
1197 WRITE( nout, fmt = 9964 )
1199 WRITE( nout, fmt = 9965 )
1201 WRITE( nout, fmt = 9963 )
1203 WRITE( nout, fmt = 9962 )
1205 WRITE( nout, fmt = 9974 )
1207 WRITE( nout, fmt = 9967 )
1209 WRITE( nout, fmt = 9971 )
1211 WRITE( nout, fmt = 9970 )
1213 WRITE( nout, fmt = 9969 )
1215 WRITE( nout, fmt = 9960 )
1217 WRITE( nout, fmt = 9968 )
1242 ELSE IF( lsamen( 3, path,
'CEC' ) )
THEN 1246 READ( nin, fmt = * )thresh
1250 CALL cchkec( thresh, tsterr, nin, nout )
1253 WRITE( nout, fmt = 9992 )path
1256 CALL ilaver( vers_major, vers_minor, vers_patch )
1257 WRITE( nout, fmt = 9972 ) vers_major, vers_minor, vers_patch
1258 WRITE( nout, fmt = 9984 )
1262 READ( nin, fmt = * )nn
1264 WRITE( nout, fmt = 9989 )
' NN ', nn, 1
1267 ELSE IF( nn.GT.maxin )
THEN 1268 WRITE( nout, fmt = 9988 )
' NN ', nn, maxin
1275 IF( .NOT.( cgx .OR. cxv ) )
THEN 1276 READ( nin, fmt = * )( mval( i ), i = 1, nn )
1283 IF( mval( i ).LT.0 )
THEN 1284 WRITE( nout, fmt = 9989 )vname, mval( i ), 0
1286 ELSE IF( mval( i ).GT.nmax )
THEN 1287 WRITE( nout, fmt = 9988 )vname, mval( i ), nmax
1291 WRITE( nout, fmt = 9983 )
'M: ', ( mval( i ), i = 1, nn )
1296 IF( glm .OR. gqr .OR. gsv .OR. csd .OR.
lse )
THEN 1297 READ( nin, fmt = * )( pval( i ), i = 1, nn )
1299 IF( pval( i ).LT.0 )
THEN 1300 WRITE( nout, fmt = 9989 )
' P ', pval( i ), 0
1302 ELSE IF( pval( i ).GT.nmax )
THEN 1303 WRITE( nout, fmt = 9988 )
' P ', pval( i ), nmax
1307 WRITE( nout, fmt = 9983 )
'P: ', ( pval( i ), i = 1, nn )
1312 IF( svd .OR. cbb .OR. glm .OR. gqr .OR. gsv .OR. csd .OR.
1314 READ( nin, fmt = * )( nval( i ), i = 1, nn )
1316 IF( nval( i ).LT.0 )
THEN 1317 WRITE( nout, fmt = 9989 )
' N ', nval( i ), 0
1319 ELSE IF( nval( i ).GT.nmax )
THEN 1320 WRITE( nout, fmt = 9988 )
' N ', nval( i ), nmax
1326 nval( i ) = mval( i )
1329 IF( .NOT.( cgx .OR. cxv ) )
THEN 1330 WRITE( nout, fmt = 9983 )
'N: ', ( nval( i ), i = 1, nn )
1332 WRITE( nout, fmt = 9983 )
'N: ', nn
1337 IF( chb .OR. cbb )
THEN 1338 READ( nin, fmt = * )nk
1339 READ( nin, fmt = * )( kval( i ), i = 1, nk )
1341 IF( kval( i ).LT.0 )
THEN 1342 WRITE( nout, fmt = 9989 )
' K ', kval( i ), 0
1344 ELSE IF( kval( i ).GT.nmax )
THEN 1345 WRITE( nout, fmt = 9988 )
' K ', kval( i ), nmax
1349 WRITE( nout, fmt = 9983 )
'K: ', ( kval( i ), i = 1, nk )
1352 IF( cev .OR. ces .OR. cvx .OR. csx )
THEN 1357 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1358 $ inmin( 1 ), inwin( 1 ), inibl(1), ishfts(1), iacc22(1)
1359 IF( nbval( 1 ).LT.1 )
THEN 1360 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1362 ELSE IF( nbmin( 1 ).LT.1 )
THEN 1363 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1365 ELSE IF( nxval( 1 ).LT.1 )
THEN 1366 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1368 ELSE IF( inmin( 1 ).LT.1 )
THEN 1369 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( 1 ), 1
1371 ELSE IF( inwin( 1 ).LT.1 )
THEN 1372 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( 1 ), 1
1374 ELSE IF( inibl( 1 ).LT.1 )
THEN 1375 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( 1 ), 1
1377 ELSE IF( ishfts( 1 ).LT.1 )
THEN 1378 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( 1 ), 1
1380 ELSE IF( iacc22( 1 ).LT.0 )
THEN 1381 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( 1 ), 0
1384 CALL xlaenv( 1, nbval( 1 ) )
1385 CALL xlaenv( 2, nbmin( 1 ) )
1386 CALL xlaenv( 3, nxval( 1 ) )
1387 CALL xlaenv(12, max( 11, inmin( 1 ) ) )
1388 CALL xlaenv(13, inwin( 1 ) )
1389 CALL xlaenv(14, inibl( 1 ) )
1390 CALL xlaenv(15, ishfts( 1 ) )
1391 CALL xlaenv(16, iacc22( 1 ) )
1392 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1393 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1394 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1395 WRITE( nout, fmt = 9983 )
'INMIN: ', inmin( 1 )
1396 WRITE( nout, fmt = 9983 )
'INWIN: ', inwin( 1 )
1397 WRITE( nout, fmt = 9983 )
'INIBL: ', inibl( 1 )
1398 WRITE( nout, fmt = 9983 )
'ISHFTS: ', ishfts( 1 )
1399 WRITE( nout, fmt = 9983 )
'IACC22: ', iacc22( 1 )
1401 ELSE IF( cgs .OR. cgx .OR. cgv .OR. cxv )
THEN 1406 READ( nin, fmt = * )nbval( 1 ), nbmin( 1 ), nxval( 1 ),
1407 $ nsval( 1 ), mxbval( 1 )
1408 IF( nbval( 1 ).LT.1 )
THEN 1409 WRITE( nout, fmt = 9989 )
' NB ', nbval( 1 ), 1
1411 ELSE IF( nbmin( 1 ).LT.1 )
THEN 1412 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( 1 ), 1
1414 ELSE IF( nxval( 1 ).LT.1 )
THEN 1415 WRITE( nout, fmt = 9989 )
' NX ', nxval( 1 ), 1
1417 ELSE IF( nsval( 1 ).LT.2 )
THEN 1418 WRITE( nout, fmt = 9989 )
' NS ', nsval( 1 ), 2
1420 ELSE IF( mxbval( 1 ).LT.1 )
THEN 1421 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( 1 ), 1
1424 CALL xlaenv( 1, nbval( 1 ) )
1425 CALL xlaenv( 2, nbmin( 1 ) )
1426 CALL xlaenv( 3, nxval( 1 ) )
1427 CALL xlaenv( 4, nsval( 1 ) )
1428 CALL xlaenv( 8, mxbval( 1 ) )
1429 WRITE( nout, fmt = 9983 )
'NB: ', nbval( 1 )
1430 WRITE( nout, fmt = 9983 )
'NBMIN:', nbmin( 1 )
1431 WRITE( nout, fmt = 9983 )
'NX: ', nxval( 1 )
1432 WRITE( nout, fmt = 9983 )
'NS: ', nsval( 1 )
1433 WRITE( nout, fmt = 9983 )
'MAXB: ', mxbval( 1 )
1434 ELSE IF( .NOT.chb .AND. .NOT.glm .AND. .NOT.gqr .AND. .NOT.
1435 $ gsv .AND. .NOT.csd .AND. .NOT.
lse )
THEN 1440 READ( nin, fmt = * )nparms
1441 IF( nparms.LT.1 )
THEN 1442 WRITE( nout, fmt = 9989 )
'NPARMS', nparms, 1
1445 ELSE IF( nparms.GT.maxin )
THEN 1446 WRITE( nout, fmt = 9988 )
'NPARMS', nparms, maxin
1454 READ( nin, fmt = * )( nbval( i ), i = 1, nparms )
1456 IF( nbval( i ).LT.0 )
THEN 1457 WRITE( nout, fmt = 9989 )
' NB ', nbval( i ), 0
1459 ELSE IF( nbval( i ).GT.nmax )
THEN 1460 WRITE( nout, fmt = 9988 )
' NB ', nbval( i ), nmax
1464 WRITE( nout, fmt = 9983 )
'NB: ',
1465 $ ( nbval( i ), i = 1, nparms )
1470 IF( nep .OR. sep .OR. svd .OR. cgg )
THEN 1471 READ( nin, fmt = * )( nbmin( i ), i = 1, nparms )
1473 IF( nbmin( i ).LT.0 )
THEN 1474 WRITE( nout, fmt = 9989 )
'NBMIN ', nbmin( i ), 0
1476 ELSE IF( nbmin( i ).GT.nmax )
THEN 1477 WRITE( nout, fmt = 9988 )
'NBMIN ', nbmin( i ), nmax
1481 WRITE( nout, fmt = 9983 )
'NBMIN:',
1482 $ ( nbmin( i ), i = 1, nparms )
1491 IF( nep .OR. sep .OR. svd )
THEN 1492 READ( nin, fmt = * )( nxval( i ), i = 1, nparms )
1493 DO 100 i = 1, nparms
1494 IF( nxval( i ).LT.0 )
THEN 1495 WRITE( nout, fmt = 9989 )
' NX ', nxval( i ), 0
1497 ELSE IF( nxval( i ).GT.nmax )
THEN 1498 WRITE( nout, fmt = 9988 )
' NX ', nxval( i ), nmax
1502 WRITE( nout, fmt = 9983 )
'NX: ',
1503 $ ( nxval( i ), i = 1, nparms )
1505 DO 110 i = 1, nparms
1513 IF( svd .OR. cbb .OR. cgg )
THEN 1514 READ( nin, fmt = * )( nsval( i ), i = 1, nparms )
1515 DO 120 i = 1, nparms
1516 IF( nsval( i ).LT.0 )
THEN 1517 WRITE( nout, fmt = 9989 )
' NS ', nsval( i ), 0
1519 ELSE IF( nsval( i ).GT.nmax )
THEN 1520 WRITE( nout, fmt = 9988 )
' NS ', nsval( i ), nmax
1524 WRITE( nout, fmt = 9983 )
'NS: ',
1525 $ ( nsval( i ), i = 1, nparms )
1527 DO 130 i = 1, nparms
1535 READ( nin, fmt = * )( mxbval( i ), i = 1, nparms )
1536 DO 140 i = 1, nparms
1537 IF( mxbval( i ).LT.0 )
THEN 1538 WRITE( nout, fmt = 9989 )
' MAXB ', mxbval( i ), 0
1540 ELSE IF( mxbval( i ).GT.nmax )
THEN 1541 WRITE( nout, fmt = 9988 )
' MAXB ', mxbval( i ), nmax
1545 WRITE( nout, fmt = 9983 )
'MAXB: ',
1546 $ ( mxbval( i ), i = 1, nparms )
1548 DO 150 i = 1, nparms
1556 READ( nin, fmt = * )( inmin( i ), i = 1, nparms )
1557 DO 540 i = 1, nparms
1558 IF( inmin( i ).LT.0 )
THEN 1559 WRITE( nout, fmt = 9989 )
' INMIN ', inmin( i ), 0
1563 WRITE( nout, fmt = 9983 )
'INMIN: ',
1564 $ ( inmin( i ), i = 1, nparms )
1566 DO 550 i = 1, nparms
1574 READ( nin, fmt = * )( inwin( i ), i = 1, nparms )
1575 DO 560 i = 1, nparms
1576 IF( inwin( i ).LT.0 )
THEN 1577 WRITE( nout, fmt = 9989 )
' INWIN ', inwin( i ), 0
1581 WRITE( nout, fmt = 9983 )
'INWIN: ',
1582 $ ( inwin( i ), i = 1, nparms )
1584 DO 570 i = 1, nparms
1592 READ( nin, fmt = * )( inibl( i ), i = 1, nparms )
1593 DO 580 i = 1, nparms
1594 IF( inibl( i ).LT.0 )
THEN 1595 WRITE( nout, fmt = 9989 )
' INIBL ', inibl( i ), 0
1599 WRITE( nout, fmt = 9983 )
'INIBL: ',
1600 $ ( inibl( i ), i = 1, nparms )
1602 DO 590 i = 1, nparms
1610 READ( nin, fmt = * )( ishfts( i ), i = 1, nparms )
1611 DO 600 i = 1, nparms
1612 IF( ishfts( i ).LT.0 )
THEN 1613 WRITE( nout, fmt = 9989 )
' ISHFTS ', ishfts( i ), 0
1617 WRITE( nout, fmt = 9983 )
'ISHFTS: ',
1618 $ ( ishfts( i ), i = 1, nparms )
1620 DO 610 i = 1, nparms
1627 IF( nep .OR. cgg )
THEN 1628 READ( nin, fmt = * )( iacc22( i ), i = 1, nparms )
1629 DO 620 i = 1, nparms
1630 IF( iacc22( i ).LT.0 )
THEN 1631 WRITE( nout, fmt = 9989 )
' IACC22 ', iacc22( i ), 0
1635 WRITE( nout, fmt = 9983 )
'IACC22: ',
1636 $ ( iacc22( i ), i = 1, nparms )
1638 DO 630 i = 1, nparms
1646 READ( nin, fmt = * )( nbcol( i ), i = 1, nparms )
1647 DO 160 i = 1, nparms
1648 IF( nbcol( i ).LT.0 )
THEN 1649 WRITE( nout, fmt = 9989 )
'NBCOL ', nbcol( i ), 0
1651 ELSE IF( nbcol( i ).GT.nmax )
THEN 1652 WRITE( nout, fmt = 9988 )
'NBCOL ', nbcol( i ), nmax
1656 WRITE( nout, fmt = 9983 )
'NBCOL:',
1657 $ ( nbcol( i ), i = 1, nparms )
1659 DO 170 i = 1, nparms
1667 WRITE( nout, fmt = * )
1668 eps = slamch(
'Underflow threshold' )
1669 WRITE( nout, fmt = 9981 )
'underflow', eps
1670 eps = slamch(
'Overflow threshold' )
1671 WRITE( nout, fmt = 9981 )
'overflow ', eps
1672 eps = slamch(
'Epsilon' )
1673 WRITE( nout, fmt = 9981 )
'precision', eps
1677 READ( nin, fmt = * )thresh
1678 WRITE( nout, fmt = 9982 )thresh
1679 IF( sep .OR. svd .OR. cgg )
THEN 1683 READ( nin, fmt = * )tstchk
1687 READ( nin, fmt = * )tstdrv
1692 READ( nin, fmt = * )tsterr
1696 READ( nin, fmt = * )newsd
1701 $
READ( nin, fmt = * )( ioldsd( i ), i = 1, 4 )
1704 iseed( i ) = ioldsd( i )
1708 WRITE( nout, fmt = 9999 )
1719 IF( .NOT.( cgx .OR. cxv ) )
THEN 1722 READ( nin, fmt =
'(A80)', end = 380 )line
1730 IF( i.GT.lenp )
THEN 1738 IF( line( i: i ).NE.
' ' .AND. line( i: i ).NE.
',' )
THEN 1745 IF( c1.EQ.intstr( k: k ) )
THEN 1750 WRITE( nout, fmt = 9991 )i, line
1755 ELSE IF( i1.GT.0 )
THEN 1765 IF( .NOT.( cev .OR. ces .OR. cvx .OR. csx .OR. cgv .OR.
1766 $ cgs ) .AND. ntypes.LE.0 )
THEN 1767 WRITE( nout, fmt = 9990 )c3
1780 IF( newsd.EQ.0 )
THEN 1782 iseed( k ) = ioldsd( k )
1786 IF( lsamen( 3, c3,
'CHS' ) .OR. lsamen( 3, c3,
'NEP' ) )
THEN 1799 ntypes = min( maxtyp, ntypes )
1800 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1803 $
CALL cerrhs(
'CHSEQR', nout )
1804 DO 270 i = 1, nparms
1805 CALL xlaenv( 1, nbval( i ) )
1806 CALL xlaenv( 2, nbmin( i ) )
1807 CALL xlaenv( 3, nxval( i ) )
1808 CALL xlaenv(12, max( 11, inmin( i ) ) )
1809 CALL xlaenv(13, inwin( i ) )
1810 CALL xlaenv(14, inibl( i ) )
1811 CALL xlaenv(15, ishfts( i ) )
1812 CALL xlaenv(16, iacc22( i ) )
1814 IF( newsd.EQ.0 )
THEN 1816 iseed( k ) = ioldsd( k )
1819 WRITE( nout, fmt = 9961 )c3, nbval( i ), nbmin( i ),
1820 $ nxval( i ), max( 11, inmin(i)),
1821 $ inwin( i ), inibl( i ), ishfts( i ), iacc22( i )
1822 CALL cchkhs( nn, nval, maxtyp, dotype, iseed, thresh, nout,
1823 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
1824 $ a( 1, 4 ), a( 1, 5 ), nmax, a( 1, 6 ),
1825 $ a( 1, 7 ), dc( 1, 1 ), dc( 1, 2 ), a( 1, 8 ),
1826 $ a( 1, 9 ), a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
1827 $ dc( 1, 3 ), work, lwork, rwork, iwork, logwrk,
1830 $
WRITE( nout, fmt = 9980 )
'CCHKHS', info
1833 ELSE IF( lsamen( 3, c3,
'CST' ) .OR. lsamen( 3, c3,
'SEP' )
1834 $ .OR. lsamen( 3, c3,
'SE2' ) )
THEN 1845 ntypes = min( maxtyp, ntypes )
1846 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1850 $
CALL cerrst(
'CST', nout )
1851 DO 290 i = 1, nparms
1852 CALL xlaenv( 1, nbval( i ) )
1853 CALL xlaenv( 2, nbmin( i ) )
1854 CALL xlaenv( 3, nxval( i ) )
1856 IF( newsd.EQ.0 )
THEN 1858 iseed( k ) = ioldsd( k )
1861 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1864 IF( lsamen( 3, c3,
'SE2' ) )
THEN 1865 CALL cchkst2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1866 $ nout, a( 1, 1 ), nmax, a( 1, 2 ),
1867 $ dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
1868 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
1869 $ dr( 1, 7 ), dr( 1, 8 ), dr( 1, 9 ),
1870 $ dr( 1, 10 ), dr( 1, 11 ), a( 1, 3 ), nmax,
1871 $ a( 1, 4 ), a( 1, 5 ), dc( 1, 1 ), a( 1, 6 ),
1872 $ work, lwork, rwork, lwork, iwork, liwork,
1875 CALL cchkst( nn, nval, maxtyp, dotype, iseed, thresh,
1876 $ nout, a( 1, 1 ), nmax, a( 1, 2 ),
1877 $ dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
1878 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
1879 $ dr( 1, 7 ), dr( 1, 8 ), dr( 1, 9 ),
1880 $ dr( 1, 10 ), dr( 1, 11 ), a( 1, 3 ), nmax,
1881 $ a( 1, 4 ), a( 1, 5 ), dc( 1, 1 ), a( 1, 6 ),
1882 $ work, lwork, rwork, lwork, iwork, liwork,
1886 $
WRITE( nout, fmt = 9980 )
'CCHKST', info
1889 IF( lsamen( 3, c3,
'SE2' ) )
THEN 1890 CALL cdrvst2stg( nn, nval, 18, dotype, iseed, thresh,
1891 $ nout, a( 1, 1 ), nmax, dr( 1, 3 ), dr( 1, 4 ),
1892 $ dr( 1, 5 ), dr( 1, 8 ), dr( 1, 9 ),
1893 $ dr( 1, 10 ), a( 1, 2 ), nmax, a( 1, 3 ),
1894 $ dc( 1, 1 ), a( 1, 4 ), work, lwork, rwork,
1895 $ lwork, iwork, liwork, result, info )
1897 CALL cdrvst( nn, nval, 18, dotype, iseed, thresh, nout,
1898 $ a( 1, 1 ), nmax, dr( 1, 3 ), dr( 1, 4 ),
1899 $ dr( 1, 5 ), dr( 1, 8 ), dr( 1, 9 ),
1900 $ dr( 1, 10 ), a( 1, 2 ), nmax, a( 1, 3 ),
1901 $ dc( 1, 1 ), a( 1, 4 ), work, lwork, rwork,
1902 $ lwork, iwork, liwork, result, info )
1905 $
WRITE( nout, fmt = 9980 )
'CDRVST', info
1909 ELSE IF( lsamen( 3, c3,
'CSG' ) )
THEN 1920 ntypes = min( maxtyp, ntypes )
1921 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1923 DO 310 i = 1, nparms
1924 CALL xlaenv( 1, nbval( i ) )
1925 CALL xlaenv( 2, nbmin( i ) )
1926 CALL xlaenv( 3, nxval( i ) )
1928 IF( newsd.EQ.0 )
THEN 1930 iseed( k ) = ioldsd( k )
1933 WRITE( nout, fmt = 9997 )c3, nbval( i ), nbmin( i ),
1942 CALL cdrvsg2stg( nn, nval, maxtyp, dotype, iseed, thresh,
1943 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
1944 $ dr( 1, 3 ), dr( 1, 4 ), a( 1, 3 ), nmax,
1945 $ a( 1, 4 ), a( 1, 5 ), a( 1, 6 ),
1946 $ a( 1, 7 ), work, lwork, rwork, lwork,
1947 $ iwork, liwork, result, info )
1949 $
WRITE( nout, fmt = 9980 )
'CDRVSG', info
1953 ELSE IF( lsamen( 3, c3,
'CBD' ) .OR. lsamen( 3, c3,
'SVD' ) )
THEN 1965 ntypes = min( maxtyp, ntypes )
1966 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
1972 IF( tsterr .AND. tstchk )
1973 $
CALL cerrbd(
'CBD', nout )
1974 IF( tsterr .AND. tstdrv )
1975 $
CALL cerred(
'CBD', nout )
1977 DO 330 i = 1, nparms
1979 CALL xlaenv( 1, nbval( i ) )
1980 CALL xlaenv( 2, nbmin( i ) )
1981 CALL xlaenv( 3, nxval( i ) )
1982 IF( newsd.EQ.0 )
THEN 1984 iseed( k ) = ioldsd( k )
1987 WRITE( nout, fmt = 9995 )c3, nbval( i ), nbmin( i ),
1990 CALL cchkbd( nn, mval, nval, maxtyp, dotype, nrhs, iseed,
1991 $ thresh, a( 1, 1 ), nmax, dr( 1, 1 ),
1992 $ dr( 1, 2 ), dr( 1, 3 ), dr( 1, 4 ),
1993 $ a( 1, 2 ), nmax, a( 1, 3 ), a( 1, 4 ),
1994 $ a( 1, 5 ), nmax, a( 1, 6 ), nmax, a( 1, 7 ),
1995 $ a( 1, 8 ), work, lwork, rwork, nout, info )
1997 $
WRITE( nout, fmt = 9980 )
'CCHKBD', info
2000 $
CALL cdrvbd( nn, mval, nval, maxtyp, dotype, iseed,
2001 $ thresh, a( 1, 1 ), nmax, a( 1, 2 ), nmax,
2002 $ a( 1, 3 ), nmax, a( 1, 4 ), a( 1, 5 ),
2003 $ a( 1, 6 ), dr( 1, 1 ), dr( 1, 2 ),
2004 $ dr( 1, 3 ), work, lwork, rwork, iwork, nout,
2008 ELSE IF( lsamen( 3, c3,
'CEV' ) )
THEN 2016 ntypes = min( maxtyp, ntypes )
2017 IF( ntypes.LE.0 )
THEN 2018 WRITE( nout, fmt = 9990 )c3
2021 $
CALL cerred( c3, nout )
2022 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2023 CALL cdrvev( nn, nval, ntypes, dotype, iseed, thresh, nout,
2024 $ a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
2025 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
2026 $ a( 1, 5 ), nmax, result, work, lwork, rwork,
2029 $
WRITE( nout, fmt = 9980 )
'CGEEV', info
2031 WRITE( nout, fmt = 9973 )
2034 ELSE IF( lsamen( 3, c3,
'CES' ) )
THEN 2042 ntypes = min( maxtyp, ntypes )
2043 IF( ntypes.LE.0 )
THEN 2044 WRITE( nout, fmt = 9990 )c3
2047 $
CALL cerred( c3, nout )
2048 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2049 CALL cdrves( nn, nval, ntypes, dotype, iseed, thresh, nout,
2050 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2051 $ dc( 1, 1 ), dc( 1, 2 ), a( 1, 4 ), nmax,
2052 $ result, work, lwork, rwork, iwork, logwrk,
2055 $
WRITE( nout, fmt = 9980 )
'CGEES', info
2057 WRITE( nout, fmt = 9973 )
2060 ELSE IF( lsamen( 3, c3,
'CVX' ) )
THEN 2068 ntypes = min( maxtyp, ntypes )
2069 IF( ntypes.LT.0 )
THEN 2070 WRITE( nout, fmt = 9990 )c3
2073 $
CALL cerred( c3, nout )
2074 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2075 CALL cdrvvx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2076 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), dc( 1, 1 ),
2077 $ dc( 1, 2 ), a( 1, 3 ), nmax, a( 1, 4 ), nmax,
2078 $ a( 1, 5 ), nmax, dr( 1, 1 ), dr( 1, 2 ),
2079 $ dr( 1, 3 ), dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ),
2080 $ dr( 1, 7 ), dr( 1, 8 ), result, work, lwork,
2083 $
WRITE( nout, fmt = 9980 )
'CGEEVX', info
2085 WRITE( nout, fmt = 9973 )
2088 ELSE IF( lsamen( 3, c3,
'CSX' ) )
THEN 2096 ntypes = min( maxtyp, ntypes )
2097 IF( ntypes.LT.0 )
THEN 2098 WRITE( nout, fmt = 9990 )c3
2101 $
CALL cerred( c3, nout )
2102 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2103 CALL cdrvsx( nn, nval, ntypes, dotype, iseed, thresh, nin,
2104 $ nout, a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2105 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ), a( 1, 4 ),
2106 $ nmax, a( 1, 5 ), result, work, lwork, rwork,
2109 $
WRITE( nout, fmt = 9980 )
'CGEESX', info
2111 WRITE( nout, fmt = 9973 )
2114 ELSE IF( lsamen( 3, c3,
'CGG' ) )
THEN 2128 ntypes = min( maxtyp, ntypes )
2129 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2131 IF( tstchk .AND. tsterr )
2132 $
CALL cerrgg( c3, nout )
2133 DO 350 i = 1, nparms
2134 CALL xlaenv( 1, nbval( i ) )
2135 CALL xlaenv( 2, nbmin( i ) )
2136 CALL xlaenv( 4, nsval( i ) )
2137 CALL xlaenv( 8, mxbval( i ) )
2138 CALL xlaenv( 16, iacc22( i ) )
2139 CALL xlaenv( 5, nbcol( i ) )
2141 IF( newsd.EQ.0 )
THEN 2143 iseed( k ) = ioldsd( k )
2146 WRITE( nout, fmt = 9996 )c3, nbval( i ), nbmin( i ),
2147 $ nsval( i ), mxbval( i ), iacc22( i ), nbcol( i )
2151 CALL cchkgg( nn, nval, maxtyp, dotype, iseed, thresh,
2152 $ tstdif, thrshn, nout, a( 1, 1 ), nmax,
2153 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2154 $ a( 1, 6 ), a( 1, 7 ), a( 1, 8 ), a( 1, 9 ),
2155 $ nmax, a( 1, 10 ), a( 1, 11 ), a( 1, 12 ),
2156 $ dc( 1, 1 ), dc( 1, 2 ), dc( 1, 3 ),
2157 $ dc( 1, 4 ), a( 1, 13 ), a( 1, 14 ), work,
2158 $ lwork, rwork, logwrk, result, info )
2160 $
WRITE( nout, fmt = 9980 )
'CCHKGG', info
2164 ELSE IF( lsamen( 3, c3,
'CGS' ) )
THEN 2172 ntypes = min( maxtyp, ntypes )
2173 IF( ntypes.LE.0 )
THEN 2174 WRITE( nout, fmt = 9990 )c3
2177 $
CALL cerrgg( c3, nout )
2178 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2179 CALL cdrges( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2180 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2181 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2182 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2183 $ result, logwrk, info )
2186 $
WRITE( nout, fmt = 9980 )
'CDRGES', info
2191 CALL cdrges3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2192 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2193 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2194 $ dc( 1, 1 ), dc( 1, 2 ), work, lwork, rwork,
2195 $ result, logwrk, info )
2198 $
WRITE( nout, fmt = 9980 )
'CDRGES3', info
2200 WRITE( nout, fmt = 9973 )
2214 WRITE( nout, fmt = 9990 )c3
2217 $
CALL cerrgg( c3, nout )
2218 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2220 CALL cdrgsx( nn, ncmax, thresh, nin, nout, a( 1, 1 ), nmax,
2221 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
2222 $ a( 1, 6 ), dc( 1, 1 ), dc( 1, 2 ), c,
2223 $ ncmax*ncmax, s, work, lwork, rwork, iwork,
2224 $ liwork, logwrk, info )
2226 $
WRITE( nout, fmt = 9980 )
'CDRGSX', info
2228 WRITE( nout, fmt = 9973 )
2231 ELSE IF( lsamen( 3, c3,
'CGV' ) )
THEN 2239 ntypes = min( maxtyp, ntypes )
2240 IF( ntypes.LE.0 )
THEN 2241 WRITE( nout, fmt = 9990 )c3
2244 $
CALL cerrgg( c3, nout )
2245 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2246 CALL cdrgev( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2247 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2248 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2249 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2250 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2253 $
WRITE( nout, fmt = 9980 )
'CDRGEV', info
2258 CALL cdrgev3( nn, nval, maxtyp, dotype, iseed, thresh, nout,
2259 $ a( 1, 1 ), nmax, a( 1, 2 ), a( 1, 3 ),
2260 $ a( 1, 4 ), a( 1, 7 ), nmax, a( 1, 8 ),
2261 $ a( 1, 9 ), nmax, dc( 1, 1 ), dc( 1, 2 ),
2262 $ dc( 1, 3 ), dc( 1, 4 ), work, lwork, rwork,
2265 $
WRITE( nout, fmt = 9980 )
'CDRGEV3', info
2267 WRITE( nout, fmt = 9973 )
2280 WRITE( nout, fmt = 9990 )c3
2283 $
CALL cerrgg( c3, nout )
2284 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2285 CALL cdrgvx( nn, thresh, nin, nout, a( 1, 1 ), nmax,
2286 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), dc( 1, 1 ),
2287 $ dc( 1, 2 ), a( 1, 5 ), a( 1, 6 ), iwork( 1 ),
2288 $ iwork( 2 ), dr( 1, 1 ), dr( 1, 2 ), dr( 1, 3 ),
2289 $ dr( 1, 4 ), dr( 1, 5 ), dr( 1, 6 ), work,
2290 $ lwork, rwork, iwork( 3 ), liwork-2, result,
2294 $
WRITE( nout, fmt = 9980 )
'CDRGVX', info
2296 WRITE( nout, fmt = 9973 )
2299 ELSE IF( lsamen( 3, c3,
'CHB' ) )
THEN 2306 ntypes = min( maxtyp, ntypes )
2307 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2309 $
CALL cerrst(
'CHB', nout )
2314 CALL cchkhb2stg( nn, nval, nk, kval, maxtyp, dotype, iseed,
2315 $ thresh, nout, a( 1, 1 ), nmax, dr( 1, 1 ),
2316 $ dr( 1, 2 ), dr( 1, 3 ), dr( 1, 4 ), dr( 1, 5 ),
2317 $ a( 1, 2 ), nmax, work, lwork, rwork, result,
2320 $
WRITE( nout, fmt = 9980 )
'CCHKHB', info
2322 ELSE IF( lsamen( 3, c3,
'CBB' ) )
THEN 2329 ntypes = min( maxtyp, ntypes )
2330 CALL alareq( c3, ntypes, dotype, maxtyp, nin, nout )
2331 DO 370 i = 1, nparms
2334 IF( newsd.EQ.0 )
THEN 2336 iseed( k ) = ioldsd( k )
2339 WRITE( nout, fmt = 9966 )c3, nrhs
2340 CALL cchkbb( nn, mval, nval, nk, kval, maxtyp, dotype, nrhs,
2341 $ iseed, thresh, nout, a( 1, 1 ), nmax,
2342 $ a( 1, 2 ), 2*nmax, dr( 1, 1 ), dr( 1, 2 ),
2343 $ a( 1, 4 ), nmax, a( 1, 5 ), nmax, a( 1, 6 ),
2344 $ nmax, a( 1, 7 ), work, lwork, rwork, result,
2347 $
WRITE( nout, fmt = 9980 )
'CCHKBB', info
2350 ELSE IF( lsamen( 3, c3,
'GLM' ) )
THEN 2358 $
CALL cerrgg(
'GLM', nout )
2359 CALL cckglm( nn, nval, mval, pval, ntypes, iseed, thresh, nmax,
2360 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2361 $ work, dr( 1, 1 ), nin, nout, info )
2363 $
WRITE( nout, fmt = 9980 )
'CCKGLM', info
2365 ELSE IF( lsamen( 3, c3,
'GQR' ) )
THEN 2373 $
CALL cerrgg(
'GQR', nout )
2374 CALL cckgqr( nn, mval, nn, pval, nn, nval, ntypes, iseed,
2375 $ thresh, nmax, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
2376 $ a( 1, 4 ), taua, b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
2377 $ b( 1, 4 ), b( 1, 5 ), taub, work, dr( 1, 1 ), nin,
2380 $
WRITE( nout, fmt = 9980 )
'CCKGQR', info
2382 ELSE IF( lsamen( 3, c3,
'GSV' ) )
THEN 2390 $
CALL cerrgg(
'GSV', nout )
2391 CALL cckgsv( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2392 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
2393 $ a( 1, 3 ), b( 1, 3 ), a( 1, 4 ), alpha, beta,
2394 $ b( 1, 4 ), iwork, work, dr( 1, 1 ), nin, nout,
2397 $
WRITE( nout, fmt = 9980 )
'CCKGSV', info
2399 ELSE IF( lsamen( 3, c3,
'CSD' ) )
THEN 2407 $
CALL cerrgg(
'CSD', nout )
2408 CALL cckcsd( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2409 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), a( 1, 4 ),
2410 $ a( 1, 5 ), a( 1, 6 ), rwork, iwork, work,
2411 $ dr( 1, 1 ), nin, nout, info )
2413 $
WRITE( nout, fmt = 9980 )
'CCKCSD', info
2415 ELSE IF( lsamen( 3, c3,
'LSE' ) )
THEN 2423 $
CALL cerrgg(
'LSE', nout )
2424 CALL ccklse( nn, mval, pval, nval, ntypes, iseed, thresh, nmax,
2425 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), x,
2426 $ work, dr( 1, 1 ), nin, nout, info )
2428 $
WRITE( nout, fmt = 9980 )
'CCKLSE', info
2430 WRITE( nout, fmt = * )
2431 WRITE( nout, fmt = * )
2432 WRITE( nout, fmt = 9992 )c3
2434 IF( .NOT.( cgx .OR. cxv ) )
2437 WRITE( nout, fmt = 9994 )
2439 WRITE( nout, fmt = 9993 )s2 - s1
2441 9999
FORMAT( /
' Execution not attempted due to input errors' )
2442 9997
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4 )
2443 9996
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NS =', i4,
2444 $
', MAXB =', i4,
', IACC22 =', i4,
', NBCOL =', i4 )
2445 9995
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2447 9994
FORMAT( / /
' End of tests' )
2448 9993
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
2449 9992
FORMAT( 1x, a3,
': Unrecognized path name' )
2450 9991
FORMAT( / /
' *** Invalid integer value in column ', i2,
2451 $
' of input',
' line:', / a79 )
2452 9990
FORMAT( / / 1x, a3,
' routines were not tested' )
2453 9989
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be >=',
2455 9988
FORMAT(
' Invalid input value: ', a,
'=', i6,
'; must be <=',
2457 9987
FORMAT(
' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2458 9986
FORMAT(
' Tests of the Hermitian Eigenvalue Problem routines' )
2459 9985
FORMAT(
' Tests of the Singular Value Decomposition routines' )
2460 9984
FORMAT( /
' The following parameter values will be used:' )
2461 9983
FORMAT( 4x, a, 10i6, / 10x, 10i6 )
2462 9982
FORMAT( /
' Routines pass computational tests if test ratio is ',
2463 $
'less than', f8.2, / )
2464 9981
FORMAT(
' Relative machine ', a,
' is taken to be', e16.6 )
2465 9980
FORMAT(
' *** Error code from ', a,
' = ', i4 )
2466 9979
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2467 $ /
' CGEEV (eigenvalues and eigevectors)' )
2468 9978
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2469 $ /
' CGEES (Schur form)' )
2470 9977
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2471 $
' Driver', /
' CGEEVX (eigenvalues, eigenvectors and',
2472 $
' condition numbers)' )
2473 9976
FORMAT( /
' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2474 $
' Driver', /
' CGEESX (Schur form and condition',
2476 9975
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2477 $
'Problem routines' )
2478 9974
FORMAT(
' Tests of CHBTRD', /
' (reduction of a Hermitian band ',
2479 $
'matrix to real tridiagonal form)' )
2480 9973
FORMAT( / 1x, 71(
'-' ) )
2481 9972
FORMAT( /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1 )
2482 9971
FORMAT( /
' Tests of the Generalized Linear Regression Model ',
2484 9970
FORMAT( /
' Tests of the Generalized QR and RQ routines' )
2485 9969
FORMAT( /
' Tests of the Generalized Singular Value',
2486 $
' Decomposition routines' )
2487 9968
FORMAT( /
' Tests of the Linear Least Squares routines' )
2488 9967
FORMAT(
' Tests of CGBBRD', /
' (reduction of a general band ',
2489 $
'matrix to real bidiagonal form)' )
2490 9966
FORMAT( / / 1x, a3,
': NRHS =', i4 )
2491 9965
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2492 $
'Problem Expert Driver CGGESX' )
2493 9964
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2494 $
'Problem Driver CGGES' )
2495 9963
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2496 $
'Problem Driver CGGEV' )
2497 9962
FORMAT( /
' Tests of the Generalized Nonsymmetric Eigenvalue ',
2498 $
'Problem Expert Driver CGGEVX' )
2499 9961
FORMAT( / / 1x, a3,
': NB =', i4,
', NBMIN =', i4,
', NX =', i4,
2501 $
', INWIN =', i4,
', INIBL =', i4,
', ISHFTS =', i4,
2503 9960
FORMAT( /
' Tests of the CS Decomposition routines' )
subroutine 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 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 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 cerred(PATH, NUNIT)
CERRED
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 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 cdrvst2stg(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)
CDRVST2STG
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 cckglm(NN, NVAL, MVAL, PVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
CCKGLM
subroutine ccklse(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
CCKLSE
subroutine cchkbk(NIN, NOUT)
CCHKBK
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 alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine xlaenv(ISPEC, NVALUE)
XLAENV
subroutine cdrvsg2stg(NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, B, LDB, D, D2, Z, LDZ, AB, BB, AP, BP, WORK, NWORK, RWORK, LRWORK, IWORK, LIWORK, RESULT, INFO)
CDRVSG2STG
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 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
logical function lse(RI, RJ, LR)
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine cchkgk(NIN, NOUT)
CCHKGK
subroutine cerrbd(PATH, NUNIT)
CERRBD
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 cchkec(THRESH, TSTERR, NIN, NOUT)
CCHKEC
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 cchkbl(NIN, NOUT)
CCHKBL
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 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 cerrhs(PATH, NUNIT)
CERRHS
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 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 cerrgg(PATH, NUNIT)
CERRGG
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 cchkst2stg(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)
CCHKST2STG
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 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 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 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 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 cchkhb2stg(NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, THRESH, NOUNIT, A, LDA, SD, SE, D1, D2, D3, U, LDU, WORK, LWORK, RWORK, RESULT, INFO)
CCHKHBSTG
subroutine cerrst(PATH, NUNIT)
CERRST
subroutine cckcsd(NM, MVAL, PVAL, QVAL, NMATS, ISEED, THRESH, MMAX, X, XF, U1, U2, V1T, V2T, THETA, IWORK, WORK, RWORK, NIN, NOUT, INFO)
CCKCSD