114 DOUBLE PRECISION FUNCTION zlange( NORM, M, N, A, LDA, WORK )
126 DOUBLE PRECISION work( * )
127 COMPLEX*16 a( lda, * )
133 DOUBLE PRECISION one, zero
134 parameter( one = 1.0d+0, zero = 0.0d+0 )
138 DOUBLE PRECISION sum,
VALUE, temp
141 DOUBLE PRECISION ssq( 2 ), colssq( 2 )
151 INTRINSIC abs, min, sqrt
155 IF( min( m, n ).EQ.0 )
THEN
157 ELSE IF(
lsame( norm,
'M' ) )
THEN
164 temp = abs( a( i, j ) )
165 IF(
VALUE.LT.temp .OR.
disnan( temp ) )
VALUE = temp
168 ELSE IF( (
lsame( norm,
'O' ) ) .OR. ( norm.EQ.
'1' ) )
THEN
176 sum = sum + abs( a( i, j ) )
178 IF(
VALUE.LT.sum .OR.
disnan( sum ) )
VALUE = sum
180 ELSE IF(
lsame( norm,
'I' ) )
THEN
189 work( i ) = work( i ) + abs( a( i, j ) )
195 IF(
VALUE.LT.temp .OR.
disnan( temp ) )
VALUE = temp
197 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
209 CALL zlassq( m, a( 1, j ), 1, colssq( 1 ), colssq( 2 ) )
212 VALUE = ssq( 1 )*sqrt( ssq( 2 ) )
logical function disnan(DIN)
DISNAN tests input for NaN.
subroutine dcombssq(V1, V2)
DCOMBSSQ adds two scaled sum of squares quantities.
logical function lsame(CA, CB)
LSAME
double precision function zlange(NORM, M, N, A, LDA, WORK)
ZLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine zlassq(N, X, INCX, SCALE, SUMSQ)
ZLASSQ updates a sum of squares represented in scaled form.