147 CHARACTER diag,
norm, uplo
151 REAL a( lda, * ), work( * )
158 parameter( one = 1.0e+0, zero = 0.0e+0 )
163 REAL scale, sum, value
173 INTRINSIC abs,
min, sqrt
177 IF(
min( m, n ).EQ.0 )
THEN
183 IF(
lsame( diag,
'U' ) )
THEN
185 IF(
lsame( uplo,
'U' ) )
THEN
187 DO 10 i = 1,
min( m, j-1 )
188 sum = abs( a( i, j ) )
189 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
195 sum = abs( a( i, j ) )
196 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
202 IF(
lsame( uplo,
'U' ) )
THEN
204 DO 50 i = 1,
min( m, j )
205 sum = abs( a( i, j ) )
206 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
212 sum = abs( a( i, j ) )
213 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
223 udiag =
lsame( diag,
'U' )
224 IF(
lsame( uplo,
'U' ) )
THEN
226 IF( ( udiag ) .AND. ( j.LE.m ) )
THEN
229 sum = sum + abs( a( i, j ) )
233 DO 100 i = 1,
min( m, j )
234 sum = sum + abs( a( i, j ) )
237 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
244 sum = sum + abs( a( i, j ) )
249 sum = sum + abs( a( i, j ) )
252 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
259 IF(
lsame( uplo,
'U' ) )
THEN
260 IF(
lsame( diag, 'u
' ) ) THEN
265 DO 160 I = 1, MIN( M, J-1 )
266 WORK( I ) = WORK( I ) + ABS( A( I, J ) )
274 DO 190 I = 1, MIN( M, J )
275 WORK( I ) = WORK( I ) + ABS( A( I, J ) )
280 IF( LSAME( DIAG, 'u
' ) ) THEN
281 DO 210 I = 1, MIN( M, N )
289 WORK( I ) = WORK( I ) + ABS( A( I, J ) )
298 WORK( I ) = WORK( I ) + ABS( A( I, J ) )
306.LT..OR.
IF( VALUE SUM SISNAN( SUM ) ) VALUE = SUM
308 ELSE IF( ( LSAME( NORM, 'f.OR.
' ) ) ( LSAME( NORM, 'e
' ) ) ) THEN
312 IF( LSAME( UPLO, 'u
' ) ) THEN
313 IF( LSAME( DIAG, 'u
' ) ) THEN
317 CALL SLASSQ( MIN( M, J-1 ), A( 1, J ), 1, SCALE, SUM )
323 CALL SLASSQ( MIN( M, J ), A( 1, J ), 1, SCALE, SUM )
327 IF( LSAME( DIAG, 'u
' ) ) THEN
331 CALL SLASSQ( M-J, A( MIN( M, J+1 ), J ), 1, SCALE,
338 CALL SLASSQ( M-J+1, A( J, J ), 1, SCALE, SUM )
342 VALUE = SCALE*SQRT( SUM )
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
subroutine slassq(n, x, incx, scl, sumsq)
SLASSQ updates a sum of squares represented in scaled form.
logical function sisnan(sin)
SISNAN tests input for NaN.
logical function lsame(ca, cb)
LSAME
real function slantr(norm, uplo, diag, m, n, a, lda, work)
SLANTR returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...