summaryrefslogtreecommitdiff
path: root/TESTING/EIG/cckcsd.f
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2012-07-27 06:42:44 +0000
committerjulie <julielangou@users.noreply.github.com>2012-07-27 06:42:44 +0000
commit199c646448f65fb375a8aaf7383c705dab58f550 (patch)
tree5681fbfbb7d700a8a1da347fa25f90a2967c14a2 /TESTING/EIG/cckcsd.f
parent2a180a73cd84e5bfdd306d649e1713e144a6f132 (diff)
downloadlapack-199c646448f65fb375a8aaf7383c705dab58f550.tar.gz
lapack-199c646448f65fb375a8aaf7383c705dab58f550.tar.bz2
lapack-199c646448f65fb375a8aaf7383c705dab58f550.zip
Commit Brian Sutton new CS Decomposition routines.
All the routines from the SRC folder have been updated to integrate the current Doxygen layout. Everything seems to be fine, all tests passed without problem.
Diffstat (limited to 'TESTING/EIG/cckcsd.f')
-rw-r--r--TESTING/EIG/cckcsd.f28
1 files changed, 20 insertions, 8 deletions
diff --git a/TESTING/EIG/cckcsd.f b/TESTING/EIG/cckcsd.f
index c6cb13b0..a4146c74 100644
--- a/TESTING/EIG/cckcsd.f
+++ b/TESTING/EIG/cckcsd.f
@@ -205,13 +205,16 @@
*
* .. Parameters ..
INTEGER NTESTS
- PARAMETER ( NTESTS = 9 )
+ PARAMETER ( NTESTS = 15 )
INTEGER NTYPES
- PARAMETER ( NTYPES = 3 )
- REAL GAPDIGIT, ORTH, PIOVER2, TEN
+ PARAMETER ( NTYPES = 4 )
+ REAL GAPDIGIT, ORTH, PIOVER2, REALONE, REALZERO, TEN
PARAMETER ( GAPDIGIT = 10.0E0, ORTH = 1.0E-4,
$ PIOVER2 = 1.57079632679489662E0,
- $ TEN = 10.0D0 )
+ $ REALONE = 1.0E0, REALZERO = 0.0E0,
+ $ TEN = 10.0E0 )
+ COMPLEX ONE, ZERO
+ PARAMETER ( ONE = (1.0E0,0.0E0), ZERO = (0.0E0,0.0E0) )
* ..
* .. Local Scalars ..
LOGICAL FIRSTT
@@ -231,8 +234,8 @@
INTRINSIC ABS, MIN
* ..
* .. External Functions ..
- REAL SLARND
- EXTERNAL SLARND
+ REAL SLARAN, SLARND
+ EXTERNAL SLARAN, SLARND
* ..
* .. Executable Statements ..
*
@@ -286,7 +289,7 @@
$ ORTH*SLARND(2,ISEED)
END DO
END DO
- ELSE
+ ELSE IF( IMAT.EQ.3 ) THEN
R = MIN( P, M-P, Q, M-Q )
DO I = 1, R+1
THETA(I) = TEN**(-SLARND(1,ISEED)*GAPDIGIT)
@@ -298,9 +301,18 @@
THETA(I) = PIOVER2 * THETA(I) / THETA(R+1)
END DO
CALL CLACSG( M, P, Q, THETA, ISEED, X, LDX, WORK )
+ ELSE
+ CALL CLASET( 'F', M, M, ZERO, ONE, X, LDX )
+ DO I = 1, M
+ J = INT( SLARAN( ISEED ) * M ) + 1
+ IF( J .NE. I ) THEN
+ CALL CSROT( M, X(1+(I-1)*LDX), 1, X(1+(J-1)*LDX),
+ $ 1, REALZERO, REALONE )
+ END IF
+ END DO
END IF
*
- NT = 9
+ NT = 15
*
CALL CCSDTS( M, P, Q, X, XF, LDX, U1, LDU1, U2, LDU2, V1T,
$ LDV1T, V2T, LDV2T, THETA, IWORK, WORK, LWORK,