107 DOUBLE PRECISION FUNCTION dlanhs( NORM, N, A, LDA, WORK )
119 DOUBLE PRECISION a( lda, * ), work( * )
125 DOUBLE PRECISION one, zero
126 parameter( one = 1.0d+0, zero = 0.0d+0 )
130 DOUBLE PRECISION sum, value
133 DOUBLE PRECISION ssq( 2 ), colssq( 2 )
143 INTRINSIC abs, min, sqrt
149 ELSE IF(
lsame( norm,
'M' ) )
THEN
155 DO 10 i = 1, min( n, j+1 )
156 sum = abs( a( i, j ) )
157 IF(
VALUE .LT. sum .OR.
disnan( sum ) )
VALUE = sum
160 ELSE IF( (
lsame( norm,
'O' ) ) .OR. ( norm.EQ.
'1' ) )
THEN
167 DO 30 i = 1, min( n, j+1 )
168 sum = sum + abs( a( i, j ) )
170 IF(
VALUE .LT. sum .OR.
disnan( sum ) )
VALUE = sum
172 ELSE IF(
lsame( norm,
'I' ) )
THEN
180 DO 60 i = 1, min( n, j+1 )
181 work( i ) = work( i ) + abs( a( i, j ) )
187 IF(
VALUE .LT. sum .OR.
disnan( sum ) )
VALUE = sum
189 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
201 CALL dlassq( min( n, j+1 ), a( 1, j ), 1,
202 $ colssq( 1 ), colssq( 2 ) )
205 VALUE = ssq( 1 )*sqrt( ssq( 2 ) )
logical function disnan(DIN)
DISNAN tests input for NaN.
subroutine dlassq(n, x, incx, scl, sumsq)
DLASSQ updates a sum of squares represented in scaled form.
subroutine dcombssq(V1, V2)
DCOMBSSQ adds two scaled sum of squares quantities.
logical function lsame(CA, CB)
LSAME
double precision function dlanhs(NORM, N, A, LDA, WORK)
DLANHS returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...