121 parameter( nmax = 132 )
123 parameter( maxin = 12 )
125 parameter( maxrhs = 16 )
127 parameter( matmax = 30 )
129 parameter( nin = 5, nout = 6 )
131 parameter( kdmax = nmax+( nmax+1 ) / 4 )
134 LOGICAL FATAL, TSTCHK, TSTDRV, TSTERR
140 INTEGER I, IC, J, K, LA, LAFAC, LDA, NB, NM, NMATS, NN,
141 $ nnb, nnb2, nns, nrhs, ntypes, nrank,
142 $ vers_major, vers_minor, vers_patch
143 DOUBLE PRECISION EPS, S1, S2, THREQ, THRESH
146 LOGICAL DOTYPE( matmax )
147 INTEGER IWORK( 25*nmax ), MVAL( maxin ),
148 $ nbval( maxin ), nbval2( maxin ),
149 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
150 $ rankval( maxin ), piv( nmax )
151 DOUBLE PRECISION RWORK( 150*nmax+2*maxrhs ), S( 2*nmax )
152 COMPLEX*16 A( ( kdmax+1 )*nmax, 7 ), B( nmax*maxrhs, 4 ),
153 $ work( nmax, nmax+maxrhs+10 )
156 LOGICAL LSAME, LSAMEN
157 DOUBLE PRECISION DLAMCH, DSECND
158 EXTERNAL lsame, lsamen, dlamch, dsecnd
176 INTEGER IPARMS( 100 )
179 COMMON / infoc / infot, nunit, ok, lerr
180 COMMON / srnamc / srnamt
181 COMMON / claenv / iparms
184 DATA threq / 2.0d0 / , intstr /
'0123456789' /
198 CALL ilaver( vers_major, vers_minor, vers_patch )
199 WRITE( nout, fmt = 9994 ) vers_major, vers_minor, vers_patch
203 READ( nin, fmt = * )nm
205 WRITE( nout, fmt = 9996 )
' NM ', nm, 1
208 ELSE IF( nm.GT.maxin )
THEN
209 WRITE( nout, fmt = 9995 )
' NM ', nm, maxin
213 READ( nin, fmt = * )( mval( i ), i = 1, nm )
215 IF( mval( i ).LT.0 )
THEN
216 WRITE( nout, fmt = 9996 )
' M ', mval( i ), 0
218 ELSE IF( mval( i ).GT.nmax )
THEN
219 WRITE( nout, fmt = 9995 )
' M ', mval( i ), nmax
224 $
WRITE( nout, fmt = 9993 )
'M ', ( mval( i ), i = 1, nm )
228 READ( nin, fmt = * )nn
230 WRITE( nout, fmt = 9996 )
' NN ', nn, 1
233 ELSE IF( nn.GT.maxin )
THEN
234 WRITE( nout, fmt = 9995 )
' NN ', nn, maxin
238 READ( nin, fmt = * )( nval( i ), i = 1, nn )
240 IF( nval( i ).LT.0 )
THEN
241 WRITE( nout, fmt = 9996 )
' N ', nval( i ), 0
243 ELSE IF( nval( i ).GT.nmax )
THEN
244 WRITE( nout, fmt = 9995 )
' N ', nval( i ), nmax
249 $
WRITE( nout, fmt = 9993 )
'N ', ( nval( i ), i = 1, nn )
253 READ( nin, fmt = * )nns
255 WRITE( nout, fmt = 9996 )
' NNS', nns, 1
258 ELSE IF( nns.GT.maxin )
THEN
259 WRITE( nout, fmt = 9995 )
' NNS', nns, maxin
263 READ( nin, fmt = * )( nsval( i ), i = 1, nns )
265 IF( nsval( i ).LT.0 )
THEN
266 WRITE( nout, fmt = 9996 )
'NRHS', nsval( i ), 0
268 ELSE IF( nsval( i ).GT.maxrhs )
THEN
269 WRITE( nout, fmt = 9995 )
'NRHS', nsval( i ), maxrhs
274 $
WRITE( nout, fmt = 9993 )
'NRHS', ( nsval( i ), i = 1, nns )
278 READ( nin, fmt = * )nnb
280 WRITE( nout, fmt = 9996 )
'NNB ', nnb, 1
283 ELSE IF( nnb.GT.maxin )
THEN
284 WRITE( nout, fmt = 9995 )
'NNB ', nnb, maxin
288 READ( nin, fmt = * )( nbval( i ), i = 1, nnb )
290 IF( nbval( i ).LT.0 )
THEN
291 WRITE( nout, fmt = 9996 )
' NB ', nbval( i ), 0
296 $
WRITE( nout, fmt = 9993 )
'NB ', ( nbval( i ), i = 1, nnb )
304 IF( nb.EQ.nbval2( j ) )
313 READ( nin, fmt = * )( nxval( i ), i = 1, nnb )
315 IF( nxval( i ).LT.0 )
THEN
316 WRITE( nout, fmt = 9996 )
' NX ', nxval( i ), 0
321 $
WRITE( nout, fmt = 9993 )
'NX ', ( nxval( i ), i = 1, nnb )
325 READ( nin, fmt = * )nrank
327 WRITE( nout, fmt = 9996 )
' NRANK ', nrank, 1
330 ELSE IF( nn.GT.maxin )
THEN
331 WRITE( nout, fmt = 9995 )
' NRANK ', nrank, maxin
335 READ( nin, fmt = * )( rankval( i ), i = 1, nrank )
337 IF( rankval( i ).LT.0 )
THEN
338 WRITE( nout, fmt = 9996 )
' RANK ', rankval( i ), 0
340 ELSE IF( rankval( i ).GT.100 )
THEN
341 WRITE( nout, fmt = 9995 )
' RANK ', rankval( i ), 100
346 $
WRITE( nout, fmt = 9993 )
'RANK % OF N',
347 $ ( rankval( i ), i = 1, nrank )
351 READ( nin, fmt = * )thresh
352 WRITE( nout, fmt = 9992 )thresh
356 READ( nin, fmt = * )tstchk
360 READ( nin, fmt = * )tstdrv
364 READ( nin, fmt = * )tsterr
367 WRITE( nout, fmt = 9999 )
373 eps = dlamch(
'Underflow threshold' )
374 WRITE( nout, fmt = 9991 )
'underflow', eps
375 eps = dlamch(
'Overflow threshold' )
376 WRITE( nout, fmt = 9991 )
'overflow ', eps
377 eps = dlamch(
'Epsilon' )
378 WRITE( nout, fmt = 9991 )
'precision', eps
379 WRITE( nout, fmt = * )
386 READ( nin, fmt =
'(A72)', end = 140 )aline
394 IF( aline( i: i ).EQ.
' ' )
400 IF( c1.EQ.intstr( k: k ) )
THEN
407 nmats = nmats*10 + ic
418 IF( .NOT.lsame( c1,
'Zomplex precision' ) )
THEN
419 WRITE( nout, fmt = 9990 )path
421 ELSE IF( nmats.LE.0 )
THEN
425 WRITE( nout, fmt = 9989 )path
427 ELSE IF( lsamen( 2, c2,
'GE' ) )
THEN
432 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
435 CALL zchkge( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
436 $ nsval, thresh, tsterr, lda, a( 1, 1 ),
437 $ a( 1, 2 ), a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
438 $ b( 1, 3 ), work, rwork, iwork, nout )
440 WRITE( nout, fmt = 9989 )path
444 CALL zdrvge( dotype, nn, nval, nrhs, thresh, tsterr, lda,
445 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
446 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
447 $ rwork, iwork, nout )
449 WRITE( nout, fmt = 9988 )path
452 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
456 la = ( 2*kdmax+1 )*nmax
457 lafac = ( 3*kdmax+1 )*nmax
459 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
462 CALL zchkgb( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
463 $ nsval, thresh, tsterr, a( 1, 1 ), la,
464 $ a( 1, 3 ), lafac, b( 1, 1 ), b( 1, 2 ),
465 $ b( 1, 3 ), work, rwork, iwork, nout )
467 WRITE( nout, fmt = 9989 )path
471 CALL zdrvgb( dotype, nn, nval, nrhs, thresh, tsterr,
472 $ a( 1, 1 ), la, a( 1, 3 ), lafac, a( 1, 6 ),
473 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s,
474 $ work, rwork, iwork, nout )
476 WRITE( nout, fmt = 9988 )path
479 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
484 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
487 CALL zchkgt( dotype, nn, nval, nns, nsval, thresh, tsterr,
488 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
489 $ b( 1, 3 ), work, rwork, iwork, nout )
491 WRITE( nout, fmt = 9989 )path
495 CALL zdrvgt( dotype, nn, nval, nrhs, thresh, tsterr,
496 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
497 $ b( 1, 3 ), work, rwork, iwork, nout )
499 WRITE( nout, fmt = 9988 )path
502 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
507 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
510 CALL zchkpo( dotype, nn, nval, nnb2, nbval2, nns, nsval,
511 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
512 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
513 $ work, rwork, nout )
515 WRITE( nout, fmt = 9989 )path
519 CALL zdrvpo( dotype, nn, nval, nrhs, thresh, tsterr, lda,
520 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
521 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
524 WRITE( nout, fmt = 9988 )path
527 ELSE IF( lsamen( 2, c2,
'PS' ) )
THEN
533 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
536 CALL zchkps( dotype, nn, nval, nnb2, nbval2, nrank,
537 $ rankval, thresh, tsterr, lda, a( 1, 1 ),
538 $ a( 1, 2 ), a( 1, 3 ), piv, work, rwork,
541 WRITE( nout, fmt = 9989 )path
544 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
549 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
552 CALL zchkpp( dotype, nn, nval, nns, nsval, thresh, tsterr,
553 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
554 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
557 WRITE( nout, fmt = 9989 )path
561 CALL zdrvpp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
562 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
563 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
566 WRITE( nout, fmt = 9988 )path
569 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
574 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
577 CALL zchkpb( dotype, nn, nval, nnb2, nbval2, nns, nsval,
578 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
579 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
580 $ work, rwork, nout )
582 WRITE( nout, fmt = 9989 )path
586 CALL zdrvpb( dotype, nn, nval, nrhs, thresh, tsterr, lda,
587 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
588 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
591 WRITE( nout, fmt = 9988 )path
594 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
599 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
602 CALL zchkpt( dotype, nn, nval, nns, nsval, thresh, tsterr,
603 $ a( 1, 1 ), s, a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
604 $ b( 1, 3 ), work, rwork, nout )
606 WRITE( nout, fmt = 9989 )path
610 CALL zdrvpt( dotype, nn, nval, nrhs, thresh, tsterr,
611 $ a( 1, 1 ), s, a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
612 $ b( 1, 3 ), work, rwork, nout )
614 WRITE( nout, fmt = 9988 )path
617 ELSE IF( lsamen( 2, c2,
'HE' ) )
THEN
622 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
625 CALL zchkhe( dotype, nn, nval, nnb2, nbval2, nns, nsval,
626 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
627 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
628 $ work, rwork, iwork, nout )
630 WRITE( nout, fmt = 9989 )path
634 CALL zdrvhe( dotype, nn, nval, nrhs, thresh, tsterr, lda,
635 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
636 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
639 WRITE( nout, fmt = 9988 )path
642 ELSE IF( lsamen( 2, c2,
'HR' ) )
THEN
648 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
651 CALL zchkhe_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
652 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
653 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
654 $ work, rwork, iwork, nout )
656 WRITE( nout, fmt = 9989 )path
660 CALL zdrvhe_rook( dotype, nn, nval, nrhs, thresh, tsterr,
661 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
662 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
663 $ rwork, iwork, nout )
665 WRITE( nout, fmt = 9988 )path
668 ELSE IF( lsamen( 2, c2,
'HP' ) )
THEN
673 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
676 CALL zchkhp( dotype, nn, nval, nns, nsval, thresh, tsterr,
677 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
678 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
681 WRITE( nout, fmt = 9989 )path
685 CALL zdrvhp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
686 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
687 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
690 WRITE( nout, fmt = 9988 )path
693 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
699 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
702 CALL zchksy( dotype, nn, nval, nnb2, nbval2, nns, nsval,
703 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
704 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
705 $ work, rwork, iwork, nout )
707 WRITE( nout, fmt = 9989 )path
711 CALL zdrvsy( dotype, nn, nval, nrhs, thresh, tsterr, lda,
712 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
713 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
716 WRITE( nout, fmt = 9988 )path
719 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
725 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
728 CALL zchksy_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
729 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
730 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
731 $ work, rwork, iwork, nout )
733 WRITE( nout, fmt = 9989 )path
737 CALL zdrvsy_rook( dotype, nn, nval, nrhs, thresh, tsterr,
738 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
739 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work,
740 $ rwork, iwork, nout )
742 WRITE( nout, fmt = 9988 )path
745 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
751 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
754 CALL zchksp( dotype, nn, nval, nns, nsval, thresh, tsterr,
755 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
756 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
759 WRITE( nout, fmt = 9989 )path
763 CALL zdrvsp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
764 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
765 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
768 WRITE( nout, fmt = 9988 )path
771 ELSE IF( lsamen( 2, c2,
'TR' ) )
THEN
776 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
779 CALL zchktr( dotype, nn, nval, nnb2, nbval2, nns, nsval,
780 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
781 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
784 WRITE( nout, fmt = 9989 )path
787 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
792 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
795 CALL zchktp( dotype, nn, nval, nns, nsval, thresh, tsterr,
796 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
797 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
799 WRITE( nout, fmt = 9989 )path
802 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
807 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
810 CALL zchktb( dotype, nn, nval, nns, nsval, thresh, tsterr,
811 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
812 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
814 WRITE( nout, fmt = 9989 )path
817 ELSE IF( lsamen( 2, c2,
'QR' ) )
THEN
822 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
825 CALL zchkqr( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
826 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
827 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
828 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
829 $ work, rwork, iwork, nout )
831 WRITE( nout, fmt = 9989 )path
834 ELSE IF( lsamen( 2, c2,
'LQ' ) )
THEN
839 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
842 CALL zchklq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
843 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
844 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
845 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
846 $ work, rwork, nout )
848 WRITE( nout, fmt = 9989 )path
851 ELSE IF( lsamen( 2, c2,
'QL' ) )
THEN
856 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
859 CALL zchkql( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
860 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
861 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
862 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
863 $ work, rwork, nout )
865 WRITE( nout, fmt = 9989 )path
868 ELSE IF( lsamen( 2, c2,
'RQ' ) )
THEN
873 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
876 CALL zchkrq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
877 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
878 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
879 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
880 $ work, rwork, iwork, nout )
882 WRITE( nout, fmt = 9989 )path
885 ELSE IF( lsamen( 2, c2,
'EQ' ) )
THEN
891 CALL zchkeq( threq, nout )
893 WRITE( nout, fmt = 9989 )path
896 ELSE IF( lsamen( 2, c2,
'TZ' ) )
THEN
901 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
904 CALL zchktz( dotype, nm, mval, nn, nval, thresh, tsterr,
905 $ a( 1, 1 ), a( 1, 2 ), s( 1 ),
906 $ b( 1, 1 ), work, rwork, nout )
908 WRITE( nout, fmt = 9989 )path
911 ELSE IF( lsamen( 2, c2,
'QP' ) )
THEN
916 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
919 CALL zchkqp( dotype, nm, mval, nn, nval, thresh, tsterr,
920 $ a( 1, 1 ), a( 1, 2 ), s( 1 ),
921 $ b( 1, 1 ), work, rwork, iwork, nout )
922 CALL zchkq3( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
923 $ thresh, a( 1, 1 ), a( 1, 2 ), s( 1 ),
924 $ b( 1, 1 ), work, rwork, iwork,
927 WRITE( nout, fmt = 9989 )path
930 ELSE IF( lsamen( 2, c2,
'LS' ) )
THEN
935 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
938 CALL zdrvls( dotype, nm, mval, nn, nval, nns, nsval, nnb,
939 $ nbval, nxval, thresh, tsterr, a( 1, 1 ),
940 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
941 $ s( 1 ), s( nmax+1 ), work, rwork, iwork,
944 WRITE( nout, fmt = 9989 )path
948 ELSE IF( lsamen( 2, c2,
'QT' ) )
THEN
953 CALL zchkqrt( thresh, tsterr, nm, mval, nn, nval, nnb,
956 WRITE( nout, fmt = 9989 )path
959 ELSE IF( lsamen( 2, c2,
'QX' ) )
THEN
964 CALL zchkqrtp( thresh, tsterr, nm, mval, nn, nval, nnb,
967 WRITE( nout, fmt = 9989 )path
972 WRITE( nout, fmt = 9990 )path
984 WRITE( nout, fmt = 9998 )
985 WRITE( nout, fmt = 9997 )s2 - s1
987 9999
FORMAT( /
' Execution not attempted due to input errors' )
988 9998
FORMAT( /
' End of tests' )
989 9997
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
990 9996
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be >=',
992 9995
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be <=',
994 9994
FORMAT(
' Tests of the COMPLEX*16 LAPACK routines ',
995 $ /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1,
996 $ / /
' The following parameter values will be used:' )
997 9993
FORMAT( 4x, a4,
': ', 10i6, / 11x, 10i6 )
998 9992
FORMAT( /
' Routines pass computational tests if test ratio is ',
999 $
'less than', f8.2, / )
1000 9991
FORMAT(
' Relative machine ', a,
' is taken to be', d16.6 )
1001 9990
FORMAT( / 1x, a3,
': Unrecognized path name' )
1002 9989
FORMAT( / 1x, a3,
' routines were not tested' )
1003 9988
FORMAT( / 1x, a3,
' driver routines were not tested' )
subroutine zchkql(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
ZCHKQL
subroutine zdrvsy_rook(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZDRVSY_ROOK
subroutine zdrvhe_rook(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZDRVHE_ROOK
subroutine zchktz(DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A, COPYA, S, TAU, WORK, RWORK, NOUT)
ZCHKTZ
subroutine zdrvgt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZDRVGT
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine zchkq3(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, THRESH, A, COPYA, S, TAU, WORK, RWORK, IWORK, NOUT)
ZCHKQ3
subroutine zdrvpt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
ZDRVPT
subroutine zchkpt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
ZCHKPT
subroutine zchkhe_rook(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKHE_ROOK
subroutine zdrvsp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZDRVSP
subroutine zchkgt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKGT
subroutine zchkqrt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
ZCHKQRT
subroutine zchkhe(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKHE
subroutine zdrvpb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, NOUT)
ZDRVPB
subroutine zdrvpp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, NOUT)
ZDRVPP
subroutine zchkpb(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, NOUT)
ZCHKPB
subroutine zchkqp(DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A, COPYA, S, TAU, WORK, RWORK, IWORK, NOUT)
ZCHKQP
subroutine zchksy_rook(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKSY_ROOK
subroutine zdrvls(DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, NNB, NBVAL, NXVAL, THRESH, TSTERR, A, COPYA, B, COPYB, C, S, COPYS, WORK, RWORK, IWORK, NOUT)
ZDRVLS
subroutine zchktp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AP, AINVP, B, X, XACT, WORK, RWORK, NOUT)
ZCHKTP
subroutine zchksy(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKSY
subroutine zdrvsy(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZDRVSY
subroutine zchkrq(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, NOUT)
ZCHKRQ
subroutine zdrvgb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, LA, AFB, LAFB, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
ZDRVGB
subroutine zchktr(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AINV, B, X, XACT, WORK, RWORK, NOUT)
ZCHKTR
subroutine zchkps(DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL, THRESH, TSTERR, NMAX, A, AFAC, PERM, PIV, WORK, RWORK, NOUT)
ZCHKPS
subroutine zchklq(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
ZCHKLQ
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine zdrvpo(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, NOUT)
ZDRVPO
subroutine zchkpo(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, NOUT)
ZCHKPO
subroutine zchkhp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKHP
subroutine zchkqrtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
ZCHKQRTP
subroutine zchksp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKSP
subroutine zchkeq(THRESH, NOUT)
ZCHKEQ
subroutine zchkpp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, NOUT)
ZCHKPP
subroutine zdrvhp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZDRVHP
subroutine zchkgb(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, A, LA, AFAC, LAFAC, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKGB
subroutine zdrvhe(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZDRVHE
subroutine zchkqr(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AR, AC, B, X, XACT, TAU, WORK, RWORK, IWORK, NOUT)
ZCHKQR
subroutine zchkge(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
ZCHKGE
subroutine zdrvge(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
ZDRVGE
subroutine zchktb(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AB, AINV, B, X, XACT, WORK, RWORK, NOUT)
ZCHKTB