101 DOUBLE PRECISION FUNCTION dlanst( NORM, N, D, E )
113 DOUBLE PRECISION d( * ), e( * )
119 DOUBLE PRECISION one, zero
120 parameter( one = 1.0d+0, zero = 0.0d+0 )
124 DOUBLE PRECISION anorm, scale, sum
140 ELSE IF(
lsame( norm,
'M' ) )
THEN
144 anorm = abs( d( n ) )
147 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
149 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
151 ELSE IF(
lsame( norm,
'O' ) .OR. norm.EQ.
'1' .OR.
152 $
lsame( norm,
'I' ) )
THEN
157 anorm = abs( d( 1 ) )
159 anorm = abs( d( 1 ) )+abs( e( 1 ) )
160 sum = abs( e( n-1 ) )+abs( d( n ) )
161 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
163 sum = abs( d( i ) )+abs( e( i ) )+abs( e( i-1 ) )
164 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
167 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
174 CALL
dlassq( n-1, e, 1, scale, sum )
177 CALL
dlassq( n, d, 1, scale, sum )
178 anorm = scale*sqrt( sum )