120 parameter ( nmax = 132 )
122 parameter ( maxin = 12 )
124 parameter ( maxrhs = 16 )
126 parameter ( matmax = 30 )
128 parameter ( nin = 5, nout = 6 )
130 parameter ( kdmax = nmax+( nmax+1 ) / 4 )
133 LOGICAL FATAL, TSTCHK, TSTDRV, TSTERR
139 INTEGER I, IC, J, K, LA, LAFAC, LDA, NB, NM, NMATS, NN,
140 $ nnb, nnb2, nns, nrhs, ntypes, nrank,
141 $ vers_major, vers_minor, vers_patch
142 DOUBLE PRECISION EPS, S1, S2, THREQ, THRESH
145 LOGICAL DOTYPE( matmax )
146 INTEGER IWORK( 25*nmax ), MVAL( maxin ),
147 $ nbval( maxin ), nbval2( maxin ),
148 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
149 $ rankval( maxin ), piv( nmax )
150 DOUBLE PRECISION A( ( kdmax+1 )*nmax, 7 ), B( nmax*maxrhs, 4 ),
151 $ e( nmax ), rwork( 5*nmax+2*maxrhs ),
152 $ s( 2*nmax ), work( nmax, nmax+maxrhs+30 )
155 LOGICAL LSAME, LSAMEN
156 DOUBLE PRECISION DLAMCH, DSECND
157 EXTERNAL lsame, lsamen, dlamch, dsecnd
177 INTEGER IPARMS( 100 )
180 COMMON / infoc / infot, nunit, ok, lerr
181 COMMON / srnamc / srnamt
182 COMMON / claenv / iparms
185 DATA threq / 2.0d0 / , intstr /
'0123456789' /
199 CALL ilaver( vers_major, vers_minor, vers_patch )
200 WRITE( nout, fmt = 9994 ) vers_major, vers_minor, vers_patch
204 READ( nin, fmt = * )nm
206 WRITE( nout, fmt = 9996 )
' NM ', nm, 1
209 ELSE IF( nm.GT.maxin )
THEN
210 WRITE( nout, fmt = 9995 )
' NM ', nm, maxin
214 READ( nin, fmt = * )( mval( i ), i = 1, nm )
216 IF( mval( i ).LT.0 )
THEN
217 WRITE( nout, fmt = 9996 )
' M ', mval( i ), 0
219 ELSE IF( mval( i ).GT.nmax )
THEN
220 WRITE( nout, fmt = 9995 )
' M ', mval( i ), nmax
225 $
WRITE( nout, fmt = 9993 )
'M ', ( mval( i ), i = 1, nm )
229 READ( nin, fmt = * )nn
231 WRITE( nout, fmt = 9996 )
' NN ', nn, 1
234 ELSE IF( nn.GT.maxin )
THEN
235 WRITE( nout, fmt = 9995 )
' NN ', nn, maxin
239 READ( nin, fmt = * )( nval( i ), i = 1, nn )
241 IF( nval( i ).LT.0 )
THEN
242 WRITE( nout, fmt = 9996 )
' N ', nval( i ), 0
244 ELSE IF( nval( i ).GT.nmax )
THEN
245 WRITE( nout, fmt = 9995 )
' N ', nval( i ), nmax
250 $
WRITE( nout, fmt = 9993 )
'N ', ( nval( i ), i = 1, nn )
254 READ( nin, fmt = * )nns
256 WRITE( nout, fmt = 9996 )
' NNS', nns, 1
259 ELSE IF( nns.GT.maxin )
THEN
260 WRITE( nout, fmt = 9995 )
' NNS', nns, maxin
264 READ( nin, fmt = * )( nsval( i ), i = 1, nns )
266 IF( nsval( i ).LT.0 )
THEN
267 WRITE( nout, fmt = 9996 )
'NRHS', nsval( i ), 0
269 ELSE IF( nsval( i ).GT.maxrhs )
THEN
270 WRITE( nout, fmt = 9995 )
'NRHS', nsval( i ), maxrhs
275 $
WRITE( nout, fmt = 9993 )
'NRHS', ( nsval( i ), i = 1, nns )
279 READ( nin, fmt = * )nnb
281 WRITE( nout, fmt = 9996 )
'NNB ', nnb, 1
284 ELSE IF( nnb.GT.maxin )
THEN
285 WRITE( nout, fmt = 9995 )
'NNB ', nnb, maxin
289 READ( nin, fmt = * )( nbval( i ), i = 1, nnb )
291 IF( nbval( i ).LT.0 )
THEN
292 WRITE( nout, fmt = 9996 )
' NB ', nbval( i ), 0
297 $
WRITE( nout, fmt = 9993 )
'NB ', ( nbval( i ), i = 1, nnb )
305 IF( nb.EQ.nbval2( j ) )
314 READ( nin, fmt = * )( nxval( i ), i = 1, nnb )
316 IF( nxval( i ).LT.0 )
THEN
317 WRITE( nout, fmt = 9996 )
' NX ', nxval( i ), 0
322 $
WRITE( nout, fmt = 9993 )
'NX ', ( nxval( i ), i = 1, nnb )
326 READ( nin, fmt = * )nrank
328 WRITE( nout, fmt = 9996 )
' NRANK ', nrank, 1
331 ELSE IF( nn.GT.maxin )
THEN
332 WRITE( nout, fmt = 9995 )
' NRANK ', nrank, maxin
336 READ( nin, fmt = * )( rankval( i ), i = 1, nrank )
338 IF( rankval( i ).LT.0 )
THEN
339 WRITE( nout, fmt = 9996 )
' RANK ', rankval( i ), 0
341 ELSE IF( rankval( i ).GT.100 )
THEN
342 WRITE( nout, fmt = 9995 )
' RANK ', rankval( i ), 100
347 $
WRITE( nout, fmt = 9993 )
'RANK % OF N',
348 $ ( rankval( i ), i = 1, nrank )
352 READ( nin, fmt = * )thresh
353 WRITE( nout, fmt = 9992 )thresh
357 READ( nin, fmt = * )tstchk
361 READ( nin, fmt = * )tstdrv
365 READ( nin, fmt = * )tsterr
368 WRITE( nout, fmt = 9999 )
374 eps = dlamch(
'Underflow threshold' )
375 WRITE( nout, fmt = 9991 )
'underflow', eps
376 eps = dlamch(
'Overflow threshold' )
377 WRITE( nout, fmt = 9991 )
'overflow ', eps
378 eps = dlamch(
'Epsilon' )
379 WRITE( nout, fmt = 9991 )
'precision', eps
380 WRITE( nout, fmt = * )
386 READ( nin, fmt =
'(A72)', end = 140 )aline
396 IF( aline( i: i ).EQ.
' ' )
402 IF( c1.EQ.intstr( k: k ) )
THEN
409 nmats = nmats*10 + ic
421 IF( .NOT.lsame( c1,
'Double precision' ) )
THEN
422 WRITE( nout, fmt = 9990 )path
424 ELSE IF( nmats.LE.0 )
THEN
428 WRITE( nout, fmt = 9989 )path
430 ELSE IF( lsamen( 2, c2,
'GE' ) )
THEN
435 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
438 CALL dchkge( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
439 $ nsval, thresh, tsterr, lda, a( 1, 1 ),
440 $ a( 1, 2 ), a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
441 $ b( 1, 3 ), work, rwork, iwork, nout )
443 WRITE( nout, fmt = 9989 )path
447 CALL ddrvge( dotype, nn, nval, nrhs, thresh, tsterr, lda,
448 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
449 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
450 $ rwork, iwork, nout )
452 WRITE( nout, fmt = 9988 )path
455 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
459 la = ( 2*kdmax+1 )*nmax
460 lafac = ( 3*kdmax+1 )*nmax
462 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
465 CALL dchkgb( dotype, nm, mval, nn, nval, nnb2, nbval2, nns,
466 $ nsval, thresh, tsterr, a( 1, 1 ), la,
467 $ a( 1, 3 ), lafac, b( 1, 1 ), b( 1, 2 ),
468 $ b( 1, 3 ), work, rwork, iwork, nout )
470 WRITE( nout, fmt = 9989 )path
474 CALL ddrvgb( dotype, nn, nval, nrhs, thresh, tsterr,
475 $ a( 1, 1 ), la, a( 1, 3 ), lafac, a( 1, 6 ),
476 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s,
477 $ work, rwork, iwork, nout )
479 WRITE( nout, fmt = 9988 )path
482 ELSE IF( lsamen( 2, c2,
'GT' ) )
THEN
487 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
490 CALL dchkgt( dotype, nn, nval, nns, nsval, thresh, tsterr,
491 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
492 $ b( 1, 3 ), work, rwork, iwork, nout )
494 WRITE( nout, fmt = 9989 )path
498 CALL ddrvgt( dotype, nn, nval, nrhs, thresh, tsterr,
499 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ), b( 1, 2 ),
500 $ b( 1, 3 ), work, rwork, iwork, nout )
502 WRITE( nout, fmt = 9988 )path
505 ELSE IF( lsamen( 2, c2,
'PO' ) )
THEN
510 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
513 CALL dchkpo( dotype, nn, nval, nnb2, nbval2, nns, nsval,
514 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
515 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
516 $ work, rwork, iwork, nout )
518 WRITE( nout, fmt = 9989 )path
522 CALL ddrvpo( dotype, nn, nval, nrhs, thresh, tsterr, lda,
523 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
524 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
525 $ rwork, iwork, nout )
527 WRITE( nout, fmt = 9988 )path
530 ELSE IF( lsamen( 2, c2,
'PS' ) )
THEN
536 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
539 CALL dchkps( dotype, nn, nval, nnb2, nbval2, nrank,
540 $ rankval, thresh, tsterr, lda, a( 1, 1 ),
541 $ a( 1, 2 ), a( 1, 3 ), piv, work, rwork,
544 WRITE( nout, fmt = 9989 )path
547 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
552 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
555 CALL dchkpp( dotype, nn, nval, nns, nsval, thresh, tsterr,
556 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
557 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
560 WRITE( nout, fmt = 9989 )path
564 CALL ddrvpp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
565 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
566 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
567 $ rwork, iwork, nout )
569 WRITE( nout, fmt = 9988 )path
572 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
577 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
580 CALL dchkpb( dotype, nn, nval, nnb2, nbval2, nns, nsval,
581 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
582 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
583 $ work, rwork, iwork, nout )
585 WRITE( nout, fmt = 9989 )path
589 CALL ddrvpb( dotype, nn, nval, nrhs, thresh, tsterr, lda,
590 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
591 $ b( 1, 2 ), b( 1, 3 ), b( 1, 4 ), s, work,
592 $ rwork, iwork, nout )
594 WRITE( nout, fmt = 9988 )path
597 ELSE IF( lsamen( 2, c2,
'PT' ) )
THEN
602 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
605 CALL dchkpt( dotype, nn, nval, nns, nsval, thresh, tsterr,
606 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
607 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
609 WRITE( nout, fmt = 9989 )path
613 CALL ddrvpt( dotype, nn, nval, nrhs, thresh, tsterr,
614 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
615 $ b( 1, 2 ), b( 1, 3 ), work, rwork, nout )
617 WRITE( nout, fmt = 9988 )path
620 ELSE IF( lsamen( 2, c2,
'SY' ) )
THEN
626 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
629 CALL dchksy( dotype, nn, nval, nnb2, nbval2, nns, nsval,
630 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
631 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
632 $ work, rwork, iwork, nout )
634 WRITE( nout, fmt = 9989 )path
638 CALL ddrvsy( dotype, nn, nval, nrhs, thresh, tsterr, lda,
639 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
640 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
643 WRITE( nout, fmt = 9988 )path
646 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
652 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
655 CALL dchksy_rook(dotype, nn, nval, nnb2, nbval2, nns, nsval,
656 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
657 $ a( 1, 3 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
658 $ work, rwork, iwork, nout )
660 WRITE( nout, fmt = 9989 )path
664 CALL ddrvsy_rook( dotype, nn, nval, nrhs, thresh, tsterr,
665 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
666 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
667 $ work, rwork, iwork, nout )
669 WRITE( nout, fmt = 9988 )path
672 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
679 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
682 CALL dchksy_rk( dotype, nn, nval, nnb2, nbval2, nns, nsval,
683 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
684 $ e, a( 1, 3 ), b( 1, 1 ), b( 1, 2 ),
685 $ b( 1, 3 ), work, rwork, iwork, nout )
687 WRITE( nout, fmt = 9989 )path
691 CALL ddrvsy_rk( dotype, nn, nval, nrhs, thresh, tsterr,
692 $ lda, a( 1, 1 ), a( 1, 2 ), e, a( 1, 3 ),
693 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
694 $ work, rwork, iwork, nout )
696 WRITE( nout, fmt = 9988 )path
699 ELSE IF( lsamen( 2, c2,
'SA' ) )
THEN
705 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
708 CALL dchksy_aa( dotype, nn, nval, nnb2, nbval2, nns,
709 $ nsval, thresh, tsterr, lda,
710 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
711 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
712 $ work, rwork, iwork, nout )
714 WRITE( nout, fmt = 9989 )path
718 CALL ddrvsy_aa( dotype, nn, nval, nrhs, thresh, tsterr,
719 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
720 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
721 $ work, rwork, iwork, nout )
723 WRITE( nout, fmt = 9988 )path
727 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
733 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
736 CALL dchksp( dotype, nn, nval, nns, nsval, thresh, tsterr,
737 $ lda, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
738 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
741 WRITE( nout, fmt = 9989 )path
745 CALL ddrvsp( dotype, nn, nval, nrhs, thresh, tsterr, lda,
746 $ a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b( 1, 1 ),
747 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
750 WRITE( nout, fmt = 9988 )path
753 ELSE IF( lsamen( 2, c2,
'TR' ) )
THEN
758 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
761 CALL dchktr( dotype, nn, nval, nnb2, nbval2, nns, nsval,
762 $ thresh, tsterr, lda, a( 1, 1 ), a( 1, 2 ),
763 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), work, rwork,
766 WRITE( nout, fmt = 9989 )path
769 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
774 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
777 CALL dchktp( dotype, nn, nval, nns, nsval, thresh, tsterr,
778 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
779 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
782 WRITE( nout, fmt = 9989 )path
785 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
790 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
793 CALL dchktb( dotype, nn, nval, nns, nsval, thresh, tsterr,
794 $ lda, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
795 $ b( 1, 2 ), b( 1, 3 ), work, rwork, iwork,
798 WRITE( nout, fmt = 9989 )path
801 ELSE IF( lsamen( 2, c2,
'QR' ) )
THEN
806 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
809 CALL dchkqr( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
810 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
811 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
812 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
813 $ work, rwork, iwork, nout )
815 WRITE( nout, fmt = 9989 )path
818 ELSE IF( lsamen( 2, c2,
'LQ' ) )
THEN
823 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
826 CALL dchklq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
827 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
828 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
829 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
830 $ work, rwork, nout )
832 WRITE( nout, fmt = 9989 )path
835 ELSE IF( lsamen( 2, c2,
'QL' ) )
THEN
840 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
843 CALL dchkql( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
844 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
845 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
846 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
847 $ work, rwork, nout )
849 WRITE( nout, fmt = 9989 )path
852 ELSE IF( lsamen( 2, c2,
'RQ' ) )
THEN
857 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
860 CALL dchkrq( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
861 $ nrhs, thresh, tsterr, nmax, a( 1, 1 ),
862 $ a( 1, 2 ), a( 1, 3 ), a( 1, 4 ), a( 1, 5 ),
863 $ b( 1, 1 ), b( 1, 2 ), b( 1, 3 ), b( 1, 4 ),
864 $ work, rwork, iwork, nout )
866 WRITE( nout, fmt = 9989 )path
869 ELSE IF( lsamen( 2, c2,
'QP' ) )
THEN
874 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
877 CALL dchkq3( dotype, nm, mval, nn, nval, nnb, nbval, nxval,
878 $ thresh, a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
879 $ b( 1, 3 ), work, iwork, nout )
881 WRITE( nout, fmt = 9989 )path
884 ELSE IF( lsamen( 2, c2,
'TZ' ) )
THEN
889 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
892 CALL dchktz( dotype, nm, mval, nn, nval, thresh, tsterr,
893 $ a( 1, 1 ), a( 1, 2 ), b( 1, 1 ),
894 $ b( 1, 3 ), work, nout )
896 WRITE( nout, fmt = 9989 )path
899 ELSE IF( lsamen( 2, c2,
'LS' ) )
THEN
904 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
907 CALL ddrvls( dotype, nm, mval, nn, nval, nns, nsval, nnb,
908 $ nbval, nxval, thresh, tsterr, a( 1, 1 ),
909 $ a( 1, 2 ), b( 1, 1 ), b( 1, 2 ), b( 1, 3 ),
910 $ rwork, rwork( nmax+1 ), nout )
912 WRITE( nout, fmt = 9988 )path
915 ELSE IF( lsamen( 2, c2,
'EQ' ) )
THEN
921 CALL dchkeq( threq, nout )
923 WRITE( nout, fmt = 9989 )path
926 ELSE IF( lsamen( 2, c2,
'QT' ) )
THEN
931 CALL dchkqrt( thresh, tsterr, nm, mval, nn, nval, nnb,
934 WRITE( nout, fmt = 9989 )path
937 ELSE IF( lsamen( 2, c2,
'QX' ) )
THEN
942 CALL dchkqrtp( thresh, tsterr, nm, mval, nn, nval, nnb,
945 WRITE( nout, fmt = 9989 )path
948 ELSE IF( lsamen( 2, c2,
'TQ' ) )
THEN
953 CALL dchklqt( thresh, tsterr, nm, mval, nn, nval, nnb,
956 WRITE( nout, fmt = 9989 )path
959 ELSE IF( lsamen( 2, c2,
'XQ' ) )
THEN
964 CALL dchklqtp( thresh, tsterr, nm, mval, nn, nval, nnb,
967 WRITE( nout, fmt = 9989 )path
970 ELSE IF( lsamen( 2, c2,
'TS' ) )
THEN
975 CALL dchktsqr( thresh, tsterr, nm, mval, nn, nval, nnb,
978 WRITE( nout, fmt = 9989 )path
983 WRITE( nout, fmt = 9990 )path
995 WRITE( nout, fmt = 9998 )
996 WRITE( nout, fmt = 9997 )s2 - s1
998 9999
FORMAT( /
' Execution not attempted due to input errors' )
999 9998
FORMAT( /
' End of tests' )
1000 9997
FORMAT(
' Total time used = ', f12.2,
' seconds', / )
1001 9996
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be >=',
1003 9995
FORMAT(
' Invalid input value: ', a4,
'=', i6,
'; must be <=',
1005 9994
FORMAT(
' Tests of the DOUBLE PRECISION LAPACK routines ',
1006 $ /
' LAPACK VERSION ', i1,
'.', i1,
'.', i1,
1007 $ / /
' The following parameter values will be used:' )
1008 9993
FORMAT( 4x, a4,
': ', 10i6, / 11x, 10i6 )
1009 9992
FORMAT( /
' Routines pass computational tests if test ratio is ',
1010 $
'less than', f8.2, / )
1011 9991
FORMAT(
' Relative machine ', a,
' is taken to be', d16.6 )
1012 9990
FORMAT( / 1x, a3,
': Unrecognized path name' )
1013 9989
FORMAT( / 1x, a3,
' routines were not tested' )
1014 9988
FORMAT( / 1x, a3,
' driver routines were not tested' )
subroutine dchksy_rook(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY_ROOK
subroutine ddrvpt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
DDRVPT
subroutine ddrvge(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVGE
subroutine ddrvsy_rook(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY_ROOK
subroutine ddrvsp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSP
subroutine ddrvpo(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVPO
subroutine dchkge(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKGE
subroutine ddrvls(DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, NNB, NBVAL, NXVAL, THRESH, TSTERR, A, COPYA, B, COPYB, C, S, COPYS, NOUT)
DDRVLS
subroutine dchklqtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKLQTP
subroutine dchkpo(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKPO
subroutine dchklqt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKLQT
subroutine dchktr(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKTR
subroutine dchkpp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKPP
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine dchksy_rk(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, E, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY_RK
subroutine ddrvpp(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVPP
subroutine ddrvsy_rk(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, E, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY_RK
subroutine dchkpb(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKPB
subroutine dchkqr(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)
DCHKQR
subroutine ddrvgb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, LA, AFB, LAFB, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVGB
subroutine dchksp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSP
subroutine dchklq(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
DCHKLQ
subroutine ddrvpb(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, ASAV, B, BSAV, X, XACT, S, WORK, RWORK, IWORK, NOUT)
DDRVPB
subroutine dchkq3(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, THRESH, A, COPYA, S, TAU, WORK, IWORK, NOUT)
DCHKQ3
subroutine dchktp(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AP, AINVP, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKTP
subroutine dchkql(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NXVAL, NRHS, THRESH, TSTERR, NMAX, A, AF, AQ, AL, AC, B, X, XACT, TAU, WORK, RWORK, NOUT)
DCHKQL
subroutine dchksy_aa(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY_AA
subroutine ddrvsy(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY
subroutine dchkqrt(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKQRT
subroutine dchkgb(DOTYPE, NM, MVAL, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, A, LA, AFAC, LAFAC, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKGB
subroutine dchkqrtp(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKQRTP
subroutine dchkrq(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)
DCHKRQ
subroutine ilaver(VERS_MAJOR, VERS_MINOR, VERS_PATCH)
ILAVER returns the LAPACK version.
subroutine dchktz(DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A, COPYA, S, TAU, WORK, NOUT)
DCHKTZ
subroutine dchksy(DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKSY
subroutine dchkpt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, D, E, B, X, XACT, WORK, RWORK, NOUT)
DCHKPT
subroutine dchkeq(THRESH, NOUT)
DCHKEQ
subroutine ddrvgt(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVGT
subroutine ddrvsy_aa(DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR, NMAX, A, AFAC, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DDRVSY_AA
subroutine dchkps(DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL, THRESH, TSTERR, NMAX, A, AFAC, PERM, PIV, WORK, RWORK, NOUT)
DCHKPS
subroutine dchktb(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, NMAX, AB, AINV, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKTB
subroutine dchktsqr(THRESH, TSTERR, NM, MVAL, NN, NVAL, NNB, NBVAL, NOUT)
DCHKQRT
subroutine dchkgt(DOTYPE, NN, NVAL, NNS, NSVAL, THRESH, TSTERR, A, AF, B, X, XACT, WORK, RWORK, IWORK, NOUT)
DCHKGT