105 DOUBLE PRECISION FUNCTION dlangt( NORM, N, DL, D, DU )
116 DOUBLE PRECISION d( * ), dl( * ), du( * )
122 DOUBLE PRECISION one, zero
123 parameter( one = 1.0d+0, zero = 0.0d+0 )
127 DOUBLE PRECISION anorm, scale, sum, temp
147 anorm = abs( d( n ) )
149 IF( anorm.LT.abs( dl( i ) ) .OR.
disnan( abs( dl( i ) ) ) )
151 IF( anorm.LT.abs( d( i ) ) .OR.
disnan( abs( d( i ) ) ) )
153 IF( anorm.LT.abs( du( i ) ) .OR.
disnan(abs( du( i ) ) ) )
161 ANORM = ABS( D( 1 ) )
163 ANORM = ABS( D( 1 ) )+ABS( DL( 1 ) )
164 TEMP = ABS( D( N ) )+ABS( DU( N-1 ) )
165.LT..OR.
IF( ANORM TEMP DISNAN( TEMP ) ) ANORM = TEMP
167 TEMP = ABS( D( I ) )+ABS( DL( I ) )+ABS( DU( I-1 ) )
168.LT..OR.
IF( ANORM TEMP DISNAN( TEMP ) ) ANORM = TEMP
171 ELSE IF( LSAME( NORM, 'i
' ) ) THEN
176 ANORM = ABS( D( 1 ) )
178 ANORM = ABS( D( 1 ) )+ABS( DU( 1 ) )
179 TEMP = ABS( D( N ) )+ABS( DL( N-1 ) )
180.LT..OR.
IF( ANORM TEMP DISNAN( TEMP ) ) ANORM = TEMP
182 TEMP = ABS( D( I ) )+ABS( DU( I ) )+ABS( DL( I-1 ) )
183.LT..OR.
IF( ANORM TEMP DISNAN( TEMP ) ) ANORM = TEMP
186 ELSE IF( ( LSAME( NORM, 'f.OR.
' ) ) ( LSAME( NORM, 'e
' ) ) ) THEN
192 CALL DLASSQ( N, D, 1, SCALE, SUM )
194 CALL DLASSQ( N-1, DL, 1, SCALE, SUM )
195 CALL DLASSQ( N-1, DU, 1, SCALE, SUM )
197 ANORM = SCALE*SQRT( SUM )
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
subroutine dlassq(n, x, incx, scl, sumsq)
DLASSQ 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 dlangt(norm, n, dl, d, du)
DLANGT returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...