aboutsummaryrefslogtreecommitdiff
path: root/TESTING/LIN/zerrsy.f
diff options
context:
space:
mode:
Diffstat (limited to 'TESTING/LIN/zerrsy.f')
-rw-r--r--TESTING/LIN/zerrsy.f171
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'