102 REAL FUNCTION clanht( NORM, N, D, E )
122 parameter ( one = 1.0e+0, zero = 0.0e+0 )
126 REAL ANORM, SCALE, SUM
129 LOGICAL LSAME, SISNAN
130 EXTERNAL lsame, sisnan
142 ELSE IF( lsame( norm,
'M' ) )
THEN
146 anorm = abs( d( n ) )
149 IF( anorm .LT. sum .OR. sisnan( sum ) ) anorm = sum
151 IF( anorm .LT. sum .OR. sisnan( sum ) ) anorm = sum
153 ELSE IF( lsame( norm,
'O' ) .OR. norm.EQ.
'1' .OR.
154 $ lsame( norm,
'I' ) )
THEN
159 anorm = abs( d( 1 ) )
161 anorm = abs( d( 1 ) )+abs( e( 1 ) )
162 sum = abs( e( n-1 ) )+abs( d( n ) )
163 IF( anorm .LT. sum .OR. sisnan( sum ) ) anorm = sum
165 sum = abs( d( i ) )+abs( e( i ) )+abs( e( i-1 ) )
166 IF( anorm .LT. sum .OR. sisnan( sum ) ) anorm = sum
169 ELSE IF( ( lsame( norm,
'F' ) ) .OR. ( lsame( norm,
'E' ) ) )
THEN
176 CALL classq( n-1, e, 1, scale, sum )
179 CALL slassq( n, d, 1, scale, sum )
180 anorm = scale*sqrt( sum )
subroutine slassq(N, X, INCX, SCALE, SUMSQ)
SLASSQ updates a sum of squares represented in scaled form.
subroutine classq(N, X, INCX, SCALE, SUMSQ)
CLASSQ updates a sum of squares represented in scaled form.
real function clanht(NORM, N, D, E)
CLANHT returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian tridiagonal matrix.