comparison libcruft/lapack/ztrcon.f @ 7034:68db500cb558

[project @ 2007-10-16 18:54:19 by jwe]
author jwe
date Tue, 16 Oct 2007 18:54:23 +0000
parents 6b9cec830d72
children
comparison
equal deleted inserted replaced
7033:f0142f2afdc6 7034:68db500cb558
1 SUBROUTINE ZTRCON( NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, 1 SUBROUTINE ZTRCON( NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK,
2 $ RWORK, INFO ) 2 $ RWORK, INFO )
3 * 3 *
4 * -- LAPACK routine (version 3.0) -- 4 * -- LAPACK routine (version 3.1) --
5 * Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., 5 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
6 * Courant Institute, Argonne National Lab, and Rice University 6 * November 2006
7 * March 31, 1993 7 *
8 * Modified to call ZLACN2 in place of ZLACON, 10 Feb 03, SJH.
8 * 9 *
9 * .. Scalar Arguments .. 10 * .. Scalar Arguments ..
10 CHARACTER DIAG, NORM, UPLO 11 CHARACTER DIAG, NORM, UPLO
11 INTEGER INFO, LDA, N 12 INTEGER INFO, LDA, N
12 DOUBLE PRECISION RCOND 13 DOUBLE PRECISION RCOND
83 CHARACTER NORMIN 84 CHARACTER NORMIN
84 INTEGER IX, KASE, KASE1 85 INTEGER IX, KASE, KASE1
85 DOUBLE PRECISION AINVNM, ANORM, SCALE, SMLNUM, XNORM 86 DOUBLE PRECISION AINVNM, ANORM, SCALE, SMLNUM, XNORM
86 COMPLEX*16 ZDUM 87 COMPLEX*16 ZDUM
87 * .. 88 * ..
89 * .. Local Arrays ..
90 INTEGER ISAVE( 3 )
91 * ..
88 * .. External Functions .. 92 * .. External Functions ..
89 LOGICAL LSAME 93 LOGICAL LSAME
90 INTEGER IZAMAX 94 INTEGER IZAMAX
91 DOUBLE PRECISION DLAMCH, ZLANTR 95 DOUBLE PRECISION DLAMCH, ZLANTR
92 EXTERNAL LSAME, IZAMAX, DLAMCH, ZLANTR 96 EXTERNAL LSAME, IZAMAX, DLAMCH, ZLANTR
93 * .. 97 * ..
94 * .. External Subroutines .. 98 * .. External Subroutines ..
95 EXTERNAL XERBLA, ZDRSCL, ZLACON, ZLATRS 99 EXTERNAL XERBLA, ZDRSCL, ZLACN2, ZLATRS
96 * .. 100 * ..
97 * .. Intrinsic Functions .. 101 * .. Intrinsic Functions ..
98 INTRINSIC ABS, DBLE, DIMAG, MAX 102 INTRINSIC ABS, DBLE, DIMAG, MAX
99 * .. 103 * ..
100 * .. Statement Functions .. 104 * .. Statement Functions ..
155 ELSE 159 ELSE
156 KASE1 = 2 160 KASE1 = 2
157 END IF 161 END IF
158 KASE = 0 162 KASE = 0
159 10 CONTINUE 163 10 CONTINUE
160 CALL ZLACON( N, WORK( N+1 ), WORK, AINVNM, KASE ) 164 CALL ZLACN2( N, WORK( N+1 ), WORK, AINVNM, KASE, ISAVE )
161 IF( KASE.NE.0 ) THEN 165 IF( KASE.NE.0 ) THEN
162 IF( KASE.EQ.KASE1 ) THEN 166 IF( KASE.EQ.KASE1 ) THEN
163 * 167 *
164 * Multiply by inv(A). 168 * Multiply by inv(A).
165 * 169 *