121 REAL function
slansy( norm, uplo, n, a, lda, work )
132 REAL a( lda, * ), work( * )
139 parameter( one = 1.0e+0, zero = 0.0e+0 )
143 REAL absa, scale, sum, value
159 ELSE IF(
lsame( norm,
'M' ) )
THEN
164 IF(
lsame( uplo,
'U' ) )
THEN
167 sum = abs( a( i, j ) )
168 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
174 sum = abs( a( i, j ) )
175 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
179 ELSE IF( (
lsame( norm,
'I' ) ) .OR. (
lsame( norm,
'O' ) ) .OR.
180 $ ( norm.EQ.
'1' ) )
THEN
185 IF(
lsame( uplo,
'U' ) )
THEN
189 absa = abs( a( i, j ) )
191 work( i ) = work( i ) + absa
193 work( j ) = sum + abs( a( j, j ) )
197 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
204 sum = work( j ) + abs( a( j, j ) )
206 absa = abs( a( i, j ) )
208 work( i ) = work( i ) + absa
210 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
213 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
219 IF(
lsame( uplo,
'U' ) )
THEN
221 CALL slassq( j-1, a( 1, j ), 1, scale, sum )
225 CALL slassq( n-j, a( j+1, j ), 1, scale, sum )
229 CALL slassq( n, a, lda+1, scale, sum )
230 VALUE = scale*sqrt( sum )
subroutine slassq(n, x, incx, scl, sumsq)
SLASSQ updates a sum of squares represented in scaled form.
logical function sisnan(SIN)
SISNAN tests input for NaN.
logical function lsame(CA, CB)
LSAME
real function slansy(NORM, UPLO, N, A, LDA, WORK)
SLANSY returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...