summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorigor175 <igor175@8a072113-8704-0410-8d35-dd094bca7971>2011-12-27 05:25:02 +0000
committerigor175 <igor175@8a072113-8704-0410-8d35-dd094bca7971>2011-12-27 05:25:02 +0000
commit6e221d7beca9ef060ec81ec5b0fc8558c4c47164 (patch)
tree4a580625f13549c573605b49b172b22dc7c62a72
parent611b774a50b0de00c6bd41ad1a42614cb078359c (diff)
downloadlapack-6e221d7beca9ef060ec81ec5b0fc8558c4c47164.tar.gz
lapack-6e221d7beca9ef060ec81ec5b0fc8558c4c47164.tar.bz2
lapack-6e221d7beca9ef060ec81ec5b0fc8558c4c47164.zip
added a special block diagonal matrix type to tests for COMPLEX*16 symmetric indefinite factorization routines with rook pivoting
-rw-r--r--TESTING/LIN/zchkaa.f4
-rw-r--r--TESTING/LIN/zchksy.f1
-rw-r--r--TESTING/LIN/zchksy_rook.f163
-rw-r--r--TESTING/ztest.in2
4 files changed, 91 insertions, 79 deletions
diff --git a/TESTING/LIN/zchkaa.f b/TESTING/LIN/zchkaa.f
index 5d1fa1a2..fefe5c25 100644
--- a/TESTING/LIN/zchkaa.f
+++ b/TESTING/LIN/zchkaa.f
@@ -52,7 +52,7 @@
*> ZHE 10 List types on next line if 0 < NTYPES < 10
*> ZHP 10 List types on next line if 0 < NTYPES < 10
*> ZSY 11 List types on next line if 0 < NTYPES < 11
-*> ZSR 10 List types on next line if 0 < NTYPES < 10
+*> ZSR 11 List types on next line if 0 < NTYPES < 11
*> ZSP 11 List types on next line if 0 < NTYPES < 11
*> ZTR 18 List types on next line if 0 < NTYPES < 18
*> ZTP 18 List types on next line if 0 < NTYPES < 18
@@ -691,7 +691,7 @@
* SR: symmetric indefinite matrices with Rook pivoting,
* with rook (bounded Bunch-Kaufman) pivoting algorithm
*
- NTYPES = 10
+ NTYPES = 11
CALL ALAREQ( PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT )
*
IF( TSTCHK ) THEN
diff --git a/TESTING/LIN/zchksy.f b/TESTING/LIN/zchksy.f
index cd9068e6..d622599b 100644
--- a/TESTING/LIN/zchksy.f
+++ b/TESTING/LIN/zchksy.f
@@ -394,6 +394,7 @@
* code for the 2 x 2 blocks.
*
CALL ZLATSY( UPLO, N, A, LDA, ISEED )
+*
END IF
*
* Do for each value of NB in NBVAL
diff --git a/TESTING/LIN/zchksy_rook.f b/TESTING/LIN/zchksy_rook.f
index 966a6d84..cf802ab8 100644
--- a/TESTING/LIN/zchksy_rook.f
+++ b/TESTING/LIN/zchksy_rook.f
@@ -204,7 +204,7 @@
COMPLEX*16 CZERO
PARAMETER ( CZERO = ( 0.0D+0, 0.0D+0 ) )
INTEGER NTYPES
- PARAMETER ( NTYPES = 10 )
+ PARAMETER ( NTYPES = 11 )
INTEGER NTESTS
PARAMETER ( NTESTS = 7 )
* ..
@@ -231,8 +231,8 @@
* ..
* .. External Subroutines ..
EXTERNAL ALAERH, ALAHD, ALASUM, ZERRSY, ZGEEVX, ZGET04,
- $ ZLACPY, ZLARHS, ZLATB4, ZLATMS, ZSYT02, ZSYT03,
- $ ZSYCON_ROOK, ZSYT01_ROOK, ZSYTRF_ROOK,
+ $ ZLACPY, ZLARHS, ZLATB4, ZLATMS, ZLATSY,ZSYT02,
+ $ ZSYT03, ZSYCON_ROOK, ZSYT01_ROOK, ZSYTRF_ROOK,
$ ZSYTRI_ROOK, ZSYTRS_ROOK, XLAENV
* ..
* .. Intrinsic Functions ..
@@ -317,101 +317,112 @@
DO 250 IUPLO = 1, 2
UPLO = UPLOS( IUPLO )
*
-* Begin generate the test matrix A.
+ IF( IMAT.NE.NTYPES ) THEN
*
-* Set up parameters with ZLATB4 for the matrix generator
-* based on the type of matrix to be generated.
+* Begin generate the test matrix A.
*
- CALL ZLATB4( MATPATH, IMAT, N, N, TYPE, KL, KU, ANORM,
- $ MODE, CNDNUM, DIST )
+* Set up parameters with ZLATB4 for the matrix generator
+* based on the type of matrix to be generated.
*
-* Generate a matrix with ZLATMS.
+ CALL ZLATB4( MATPATH, IMAT, N, N, TYPE, KL, KU, ANORM,
+ $ MODE, CNDNUM, DIST )
*
- SRNAMT = 'ZLATMS'
- CALL ZLATMS( N, N, DIST, ISEED, TYPE, RWORK, MODE,
- $ CNDNUM, ANORM, KL, KU, UPLO, A, LDA, WORK,
- $ INFO )
+* Generate a matrix with ZLATMS.
*
-* Check error code from ZLATMS and handle error.
+ SRNAMT = 'ZLATMS'
+ CALL ZLATMS( N, N, DIST, ISEED, TYPE, RWORK, MODE,
+ $ CNDNUM, ANORM, KL, KU, UPLO, A, LDA,
+ $ WORK, INFO )
*
- IF( INFO.NE.0 ) THEN
- CALL ALAERH( PATH, 'ZLATMS', INFO, 0, UPLO, N, N, -1,
- $ -1, -1, IMAT, NFAIL, NERRS, NOUT )
+* Check error code from ZLATMS and handle error.
*
-* Skip all tests for this generated matrix
-*
- GO TO 250
- END IF
+ IF( INFO.NE.0 ) THEN
+ CALL ALAERH( PATH, 'ZLATMS', INFO, 0, UPLO, N, N,
+ $ -1, -1, -1, IMAT, NFAIL, NERRS, NOUT )
*
-* For matrix types 3-6, zero one or more rows and
-* columns of the matrix to test that INFO is returned
-* correctly.
+* Skip all tests for this generated matrix
*
- IF( ZEROT ) THEN
- IF( IMAT.EQ.3 ) THEN
- IZERO = 1
- ELSE IF( IMAT.EQ.4 ) THEN
- IZERO = N
- ELSE
- IZERO = N / 2 + 1
+ GO TO 250
END IF
*
- IF( IMAT.LT.6 ) THEN
-*
-* Set row and column IZERO to zero.
+* For matrix types 3-6, zero one or more rows and
+* columns of the matrix to test that INFO is returned
+* correctly.
*
- IF( IUPLO.EQ.1 ) THEN
- IOFF = ( IZERO-1 )*LDA
- DO 20 I = 1, IZERO - 1
- A( IOFF+I ) = CZERO
- 20 CONTINUE
- IOFF = IOFF + IZERO
- DO 30 I = IZERO, N
- A( IOFF ) = CZERO
- IOFF = IOFF + LDA
- 30 CONTINUE
+ IF( ZEROT ) THEN
+ IF( IMAT.EQ.3 ) THEN
+ IZERO = 1
+ ELSE IF( IMAT.EQ.4 ) THEN
+ IZERO = N
ELSE
- IOFF = IZERO
- DO 40 I = 1, IZERO - 1
- A( IOFF ) = CZERO
- IOFF = IOFF + LDA
- 40 CONTINUE
- IOFF = IOFF - IZERO
- DO 50 I = IZERO, N
- A( IOFF+I ) = CZERO
- 50 CONTINUE
+ IZERO = N / 2 + 1
END IF
- ELSE
- IOFF = 0
- IF( IUPLO.EQ.1 ) THEN
*
-* Set the first IZERO rows and columns to zero.
+ IF( IMAT.LT.6 ) THEN
*
- DO 70 J = 1, N
- I2 = MIN( J, IZERO )
- DO 60 I = 1, I2
- A( IOFF+I ) = CZERO
- 60 CONTINUE
- IOFF = IOFF + LDA
- 70 CONTINUE
- ELSE
-*
-* Set the last IZERO rows and columns to zero.
+* Set row and column IZERO to zero.
*
- DO 90 J = 1, N
- I1 = MAX( J, IZERO )
- DO 80 I = I1, N
+ IF( IUPLO.EQ.1 ) THEN
+ IOFF = ( IZERO-1 )*LDA
+ DO 20 I = 1, IZERO - 1
A( IOFF+I ) = CZERO
- 80 CONTINUE
- IOFF = IOFF + LDA
- 90 CONTINUE
+ 20 CONTINUE
+ IOFF = IOFF + IZERO
+ DO 30 I = IZERO, N
+ A( IOFF ) = CZERO
+ IOFF = IOFF + LDA
+ 30 CONTINUE
+ ELSE
+ IOFF = IZERO
+ DO 40 I = 1, IZERO - 1
+ A( IOFF ) = CZERO
+ IOFF = IOFF + LDA
+ 40 CONTINUE
+ IOFF = IOFF - IZERO
+ DO 50 I = IZERO, N
+ A( IOFF+I ) = CZERO
+ 50 CONTINUE
+ END IF
+ ELSE
+ IOFF = 0
+ IF( IUPLO.EQ.1 ) THEN
+*
+* Set the first IZERO rows and columns to zero.
+*
+ DO 70 J = 1, N
+ I2 = MIN( J, IZERO )
+ DO 60 I = 1, I2
+ A( IOFF+I ) = CZERO
+ 60 CONTINUE
+ IOFF = IOFF + LDA
+ 70 CONTINUE
+ ELSE
+*
+* Set the last IZERO rows and columns to zero.
+*
+ DO 90 J = 1, N
+ I1 = MAX( J, IZERO )
+ DO 80 I = I1, N
+ A( IOFF+I ) = CZERO
+ 80 CONTINUE
+ IOFF = IOFF + LDA
+ 90 CONTINUE
+ END IF
END IF
+ ELSE
+ IZERO = 0
END IF
+*
+* End generate the test matrix A.
+*
ELSE
- IZERO = 0
- END IF
*
-* End generate the test matrix A.
+* Use a special block diagonal matrix to test alternate
+* code for the 2 x 2 blocks.
+*
+ CALL ZLATSY( UPLO, N, A, LDA, ISEED )
+*
+ END IF
*
* Do for each value of NB in NBVAL
*
diff --git a/TESTING/ztest.in b/TESTING/ztest.in
index f47f5320..e6c7327e 100644
--- a/TESTING/ztest.in
+++ b/TESTING/ztest.in
@@ -25,7 +25,7 @@ ZPT 12 List types on next line if 0 < NTYPES < 12
ZHE 10 List types on next line if 0 < NTYPES < 10
ZHP 10 List types on next line if 0 < NTYPES < 10
ZSY 11 List types on next line if 0 < NTYPES < 11
-ZSR 10 List types on next line if 0 < NTYPES < 10
+ZSR 11 List types on next line if 0 < NTYPES < 11
ZSP 11 List types on next line if 0 < NTYPES < 11
ZTR 18 List types on next line if 0 < NTYPES < 18
ZTP 18 List types on next line if 0 < NTYPES < 18