99 DOUBLE PRECISION FUNCTION dlanst( NORM, N, D, E )
110 DOUBLE PRECISION D( * ), E( * )
116 DOUBLE PRECISION ONE, ZERO
117 parameter( one = 1.0d+0, zero = 0.0d+0 )
121 DOUBLE PRECISION ANORM, SCALE, SUM
124 LOGICAL LSAME, DISNAN
125 EXTERNAL lsame, disnan
137 ELSE IF( lsame( norm,
'M' ) )
THEN 141 anorm = abs( d( n ) )
144 IF( anorm .LT. sum .OR. disnan( sum ) ) anorm = sum
146 IF( anorm .LT. sum .OR. disnan( sum ) ) anorm = sum
148 ELSE IF( lsame( norm,
'O' ) .OR. norm.EQ.
'1' .OR.
149 $ lsame( norm,
'I' ) )
THEN 154 anorm = abs( d( 1 ) )
156 anorm = abs( d( 1 ) )+abs( e( 1 ) )
157 sum = abs( e( n-1 ) )+abs( d( n ) )
158 IF( anorm .LT. sum .OR. disnan( sum ) ) anorm = sum
160 sum = abs( d( i ) )+abs( e( i ) )+abs( e( i-1 ) )
161 IF( anorm .LT. sum .OR. disnan( sum ) ) anorm = sum
164 ELSE IF( ( lsame( norm,
'F' ) ) .OR. ( lsame( norm,
'E' ) ) )
THEN 171 CALL dlassq( n-1, e, 1, scale, sum )
174 CALL dlassq( n, d, 1, scale, sum )
175 anorm = scale*sqrt( sum )
double precision function dlanst(NORM, N, D, E)
DLANST returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric tridiagonal matrix.