diff options
Diffstat (limited to 'TESTING/LIN/zerrsy.f')
-rw-r--r-- | TESTING/LIN/zerrsy.f | 171 |
1 files changed, 154 insertions, 17 deletions
diff --git a/TESTING/LIN/zerrsy.f b/TESTING/LIN/zerrsy.f index 35361e60..45e5f0c0 100644 --- a/TESTING/LIN/zerrsy.f +++ b/TESTING/LIN/zerrsy.f @@ -48,17 +48,17 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2013 +*> \date November 2016 * *> \ingroup complex16_lin * * ===================================================================== SUBROUTINE ZERRSY( PATH, NUNIT ) * -* -- LAPACK test routine (version 3.5.0) -- +* -- LAPACK test routine (version 3.7.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2013 +* November 2016 * * .. Scalar Arguments .. CHARACTER*3 PATH @@ -80,7 +80,7 @@ INTEGER IP( NMAX ) DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX ) COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), - $ W( 2*NMAX ), X( NMAX ) + $ E( NMAX ), W( 2*NMAX ), X( NMAX ) * .. * .. External Functions .. LOGICAL LSAMEN @@ -88,9 +88,11 @@ * .. * .. External Subroutines .. EXTERNAL ALAESM, CHKXER, ZSPCON, ZSPRFS, ZSPTRF, ZSPTRI, - $ ZSPTRS, ZSYCON, ZSYCON_ROOK, ZSYRFS, ZSYTF2, - $ ZSYTF2_ROOK, ZSYTRF, ZSYTRF_ROOK, ZSYTRI, - $ ZSYTRI_ROOK, ZSYTRI2, ZSYTRS, ZSYTRS_ROOK + $ ZSPTRS, ZSYCON, ZSYCON_3, ZSYCON_ROOK, ZSYRFS, + $ ZSYTF2, ZSYTF2_RK, ZSYTF2_ROOK, ZSYTRF, + $ ZSYTRF_RK, ZSYTRF_ROOK, ZSYTRI, ZSYTRI_3, + $ ZSYTRI_3X, ZSYTRI_ROOK, ZSYTRI2, ZSYTRI2Z, + $ ZSYTRS, ZSYTRS_3, ZSYTRS_ROOK * .. * .. Scalars in Common .. LOGICAL LERR, OK @@ -120,6 +122,7 @@ $ -1.D0 / DBLE( I+J ) ) 10 CONTINUE B( J ) = 0.D0 + E( J ) = 0.D0 R1( J ) = 0.D0 R2( J ) = 0.D0 W( J ) = 0.D0 @@ -129,12 +132,12 @@ ANRM = 1.0D0 OK = .TRUE. * -* Test error exits of the routines that use factorization -* of a symmetric indefinite matrix with patrial -* (Bunch-Kaufman) diagonal pivoting method. -* IF( LSAMEN( 2, C2, 'SY' ) ) THEN * +* Test error exits of the routines that use factorization +* of a symmetric indefinite matrix with patrial +* (Bunch-Kaufman) diagonal pivoting method. +* * ZSYTRF * SRNAMT = 'ZSYTRF' @@ -147,6 +150,12 @@ INFOT = 4 CALL ZSYTRF( 'U', 2, A, 1, IP, W, 4, INFO ) CALL CHKXER( 'ZSYTRF', INFOT, NOUT, LERR, OK ) + INFOT = 7 + CALL ZSYTRF( 'U', 0, A, 1, IP, W, 0, INFO ) + CALL CHKXER( 'ZSYTRF', INFOT, NOUT, LERR, OK ) + INFOT = 7 + CALL ZSYTRF( 'U', 0, A, 1, IP, W, -2, INFO ) + CALL CHKXER( 'ZSYTRF', INFOT, NOUT, LERR, OK ) * * ZSYTF2 * @@ -187,6 +196,19 @@ CALL ZSYTRI2( 'U', 2, A, 1, IP, W, 1, INFO ) CALL CHKXER( 'ZSYTRI2', INFOT, NOUT, LERR, OK ) * +* ZSYTRI2X +* + SRNAMT = 'ZSYTRI2X' + INFOT = 1 + CALL ZSYTRI2X( '/', 0, A, 1, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI2X', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZSYTRI2X( 'U', -1, A, 1, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI2X', INFOT, NOUT, LERR, OK ) + INFOT = 4 + CALL ZSYTRI2X( 'U', 2, A, 1, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI2X', INFOT, NOUT, LERR, OK ) +* * ZSYTRS * SRNAMT = 'ZSYTRS' @@ -254,12 +276,12 @@ CALL ZSYCON( 'U', 1, A, 1, IP, -ANRM, RCOND, W, INFO ) CALL CHKXER( 'ZSYCON', INFOT, NOUT, LERR, OK ) * -* Test error exits of the routines that use factorization -* of a symmetric indefinite matrix with "rook" -* (bounded Bunch-Kaufman) diagonal pivoting method. -* ELSE IF( LSAMEN( 2, C2, 'SR' ) ) THEN * +* Test error exits of the routines that use factorization +* of a symmetric indefinite matrix with rook +* (bounded Bunch-Kaufman) diagonal pivoting method. +* * ZSYTRF_ROOK * SRNAMT = 'ZSYTRF_ROOK' @@ -272,6 +294,12 @@ INFOT = 4 CALL ZSYTRF_ROOK( 'U', 2, A, 1, IP, W, 4, INFO ) CALL CHKXER( 'ZSYTRF_ROOK', INFOT, NOUT, LERR, OK ) + INFOT = 7 + CALL ZSYTRF_ROOK( 'U', 0, A, 1, IP, W, 0, INFO ) + CALL CHKXER( 'ZSYTRF_ROOK', INFOT, NOUT, LERR, OK ) + INFOT = 7 + CALL ZSYTRF_ROOK( 'U', 0, A, 1, IP, W, -2, INFO ) + CALL CHKXER( 'ZSYTRF_ROOK', INFOT, NOUT, LERR, OK ) * * ZSYTF2_ROOK * @@ -334,12 +362,121 @@ CALL ZSYCON_ROOK( 'U', 1, A, 1, IP, -ANRM, RCOND, W, INFO ) CALL CHKXER( 'ZSYCON_ROOK', INFOT, NOUT, LERR, OK ) * + ELSE IF( LSAMEN( 2, C2, 'SK' ) ) THEN +* * Test error exits of the routines that use factorization -* of a symmetric indefinite packed matrix with patrial -* (Bunch-Kaufman) pivoting. +* of a symmetric indefinite matrix with rook +* (bounded Bunch-Kaufman) pivoting with the new storage +* format for factors L ( or U) and D. +* +* L (or U) is stored in A, diagonal of D is stored on the +* diagonal of A, subdiagonal of D is stored in a separate array E. +* +* ZSYTRF_RK +* + SRNAMT = 'ZSYTRF_RK' + INFOT = 1 + CALL ZSYTRF_RK( '/', 0, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRF_RK', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZSYTRF_RK( 'U', -1, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRF_RK', INFOT, NOUT, LERR, OK ) + INFOT = 4 + CALL ZSYTRF_RK( 'U', 2, A, 1, E, IP, W, 4, INFO ) + CALL CHKXER( 'ZSYTRF_RK', INFOT, NOUT, LERR, OK ) + INFOT = 8 + CALL ZSYTRF_RK( 'U', 0, A, 1, E, IP, W, 0, INFO ) + CALL CHKXER( 'ZSYTRF_RK', INFOT, NOUT, LERR, OK ) + INFOT = 8 + CALL ZSYTRF_RK( 'U', 0, A, 1, E, IP, W, -2, INFO ) + CALL CHKXER( 'ZSYTRF_RK', INFOT, NOUT, LERR, OK ) +* +* ZSYTF2_RK +* + SRNAMT = 'ZSYTF2_RK' + INFOT = 1 + CALL ZSYTF2_RK( '/', 0, A, 1, E, IP, INFO ) + CALL CHKXER( 'ZSYTF2_RK', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZSYTF2_RK( 'U', -1, A, 1, E, IP, INFO ) + CALL CHKXER( 'ZSYTF2_RK', INFOT, NOUT, LERR, OK ) + INFOT = 4 + CALL ZSYTF2_RK( 'U', 2, A, 1, E, IP, INFO ) + CALL CHKXER( 'ZSYTF2_RK', INFOT, NOUT, LERR, OK ) +* +* ZSYTRI_3 +* + SRNAMT = 'ZSYTRI_3' + INFOT = 1 + CALL ZSYTRI_3( '/', 0, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI_3', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZSYTRI_3( 'U', -1, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI_3', INFOT, NOUT, LERR, OK ) + INFOT = 4 + CALL ZSYTRI_3( 'U', 2, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI_3', INFOT, NOUT, LERR, OK ) + INFOT = 8 + CALL ZSYTRI_3( 'U', 0, A, 1, E, IP, W, 0, INFO ) + CALL CHKXER( 'ZSYTRI_3', INFOT, NOUT, LERR, OK ) + INFOT = 8 + CALL ZSYTRI_3( 'U', 0, A, 1, E, IP, W, -2, INFO ) + CALL CHKXER( 'ZSYTRI_3', INFOT, NOUT, LERR, OK ) +* +* ZSYTRI_3X +* + SRNAMT = 'ZSYTRI_3X' + INFOT = 1 + CALL ZSYTRI_3X( '/', 0, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI_3X', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZSYTRI_3X( 'U', -1, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI_3X', INFOT, NOUT, LERR, OK ) + INFOT = 4 + CALL ZSYTRI_3X( 'U', 2, A, 1, E, IP, W, 1, INFO ) + CALL CHKXER( 'ZSYTRI_3X', INFOT, NOUT, LERR, OK ) +* +* ZSYTRS_3 +* + SRNAMT = 'ZSYTRS_3' + INFOT = 1 + CALL ZSYTRS_3( '/', 0, 0, A, 1, E, IP, B, 1, INFO ) + CALL CHKXER( 'ZSYTRS_3', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZSYTRS_3( 'U', -1, 0, A, 1, E, IP, B, 1, INFO ) + CALL CHKXER( 'ZSYTRS_3', INFOT, NOUT, LERR, OK ) + INFOT = 3 + CALL ZSYTRS_3( 'U', 0, -1, A, 1, E, IP, B, 1, INFO ) + CALL CHKXER( 'ZSYTRS_3', INFOT, NOUT, LERR, OK ) + INFOT = 5 + CALL ZSYTRS_3( 'U', 2, 1, A, 1, E, IP, B, 2, INFO ) + CALL CHKXER( 'ZSYTRS_3', INFOT, NOUT, LERR, OK ) + INFOT = 9 + CALL ZSYTRS_3( 'U', 2, 1, A, 2, E, IP, B, 1, INFO ) + CALL CHKXER( 'ZSYTRS_3', INFOT, NOUT, LERR, OK ) +* +* ZSYCON_3 +* + SRNAMT = 'ZSYCON_3' + INFOT = 1 + CALL ZSYCON_3( '/', 0, A, 1, E, IP, ANRM, RCOND, W, INFO ) + CALL CHKXER( 'ZSYCON_3', INFOT, NOUT, LERR, OK ) + INFOT = 2 + CALL ZSYCON_3( 'U', -1, A, 1, E, IP, ANRM, RCOND, W, INFO ) + CALL CHKXER( 'ZSYCON_3', INFOT, NOUT, LERR, OK ) + INFOT = 4 + CALL ZSYCON_3( 'U', 2, A, 1, E, IP, ANRM, RCOND, W, INFO ) + CALL CHKXER( 'ZSYCON_3', INFOT, NOUT, LERR, OK ) + INFOT = 7 + CALL ZSYCON_3( 'U', 1, A, 1, E, IP, -1.0D0, RCOND, W, INFO) + CALL CHKXER( 'ZSYCON_3', INFOT, NOUT, LERR, OK ) * ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN * +* Test error exits of the routines that use factorization +* of a symmetric indefinite packed matrix with patrial +* (Bunch-Kaufman) pivoting. +* * ZSPTRF * SRNAMT = 'ZSPTRF' |