123 DOUBLE PRECISION FUNCTION zlanhe( NORM, UPLO, N, A, LDA, WORK )
134 DOUBLE PRECISION work( * )
135 COMPLEX*16 a( lda, * )
141 DOUBLE PRECISION one, zero
146 DOUBLE PRECISION absa, scale, sum, value
156 INTRINSIC abs, dble, sqrt
167 IF(
lsame( uplo, 'u
' ) ) THEN
170 SUM = ABS( A( I, J ) )
171.LT..OR.
IF( VALUE SUM DISNAN( SUM ) ) VALUE = SUM
173 SUM = ABS( DBLE( A( J, J ) ) )
174.LT..OR.
IF( VALUE SUM DISNAN( SUM ) ) VALUE = SUM
178 SUM = ABS( DBLE( A( J, J ) ) )
179.LT..OR.
IF( VALUE SUM DISNAN( SUM ) ) VALUE = SUM
181 SUM = ABS( A( I, J ) )
182.LT..OR.
IF( VALUE SUM DISNAN( SUM ) ) VALUE = SUM
186 ELSE IF( ( LSAME( NORM, 'i.OR.
' ) ) ( LSAME( NORM, 'o.OR.
' ) )
187.EQ.
$ ( NORM'1
' ) ) THEN
192 IF( LSAME( UPLO, 'u
' ) ) THEN
196 ABSA = ABS( A( I, J ) )
198 WORK( I ) = WORK( I ) + ABSA
200 WORK( J ) = SUM + ABS( DBLE( A( J, J ) ) )
204.LT..OR.
IF( VALUE SUM DISNAN( SUM ) ) VALUE = SUM
211 SUM = WORK( J ) + ABS( DBLE( A( J, J ) ) )
213 ABSA = ABS( A( I, J ) )
215 WORK( I ) = WORK( I ) + ABSA
217.LT..OR.
IF( VALUE SUM DISNAN( SUM ) ) VALUE = SUM
220 ELSE IF( ( LSAME( NORM, 'f.OR.
' ) ) ( LSAME( NORM, 'e
' ) ) ) THEN
226 IF( LSAME( UPLO, 'u
' ) ) THEN
228 CALL ZLASSQ( J-1, A( 1, J ), 1, SCALE, SUM )
232 CALL ZLASSQ( N-J, A( J+1, J ), 1, SCALE, SUM )
237.NE.
IF( DBLE( A( I, I ) )ZERO ) THEN
238 ABSA = ABS( DBLE( A( I, I ) ) )
239.LT.
IF( SCALEABSA ) THEN
240 SUM = ONE + SUM*( SCALE / ABSA )**2
243 SUM = SUM + ( ABSA / SCALE )**2
247 VALUE = SCALE*SQRT( SUM )
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
subroutine zlassq(n, x, incx, scl, sumsq)
ZLASSQ updates a sum of squares represented in scaled form.
logical function disnan(din)
DISNAN tests input for NaN.
logical function lsame(ca, cb)
LSAME
double precision function zlanhe(norm, uplo, n, a, lda, work)
ZLANHE returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...