97 DOUBLE PRECISION FUNCTION dlanst( NORM, N, D, E )
108 DOUBLE PRECISION d( * ), e( * )
114 DOUBLE PRECISION one, zero
115 parameter( one = 1.0d+0, zero = 0.0d+0 )
119 DOUBLE PRECISION anorm, scale, sum
135 ELSE IF(
lsame( norm,
'M' ) )
THEN
139 anorm = abs( d( n ) )
142 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
144 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
146 ELSE IF(
lsame( norm,
'O' ) .OR. norm.EQ.
'1' .OR.
147 $
lsame( norm,
'I' ) )
THEN
152 anorm = abs( d( 1 ) )
154 anorm = abs( d( 1 ) )+abs( e( 1 ) )
155 sum = abs( e( n-1 ) )+abs( d( n ) )
156 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
158 sum = abs( d( i ) )+abs( e( i ) )+abs( e( i-1 ) )
159 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
162 ELSE IF( (
lsame( norm,
'F' ) ) .OR.
163 $ (
lsame( norm,
'E' ) ) )
THEN
170 CALL dlassq( n-1, e, 1, scale, sum )
173 CALL dlassq( n, d, 1, scale, sum )
174 anorm = scale*sqrt( sum )
logical function disnan(din)
DISNAN tests input for NaN.
double precision function dlanst(norm, n, d, e)
DLANST returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...
subroutine dlassq(n, x, incx, scale, sumsq)
DLASSQ updates a sum of squares represented in scaled form.
logical function lsame(ca, cb)
LSAME