122 REAL function
clansy( norm, uplo, n, a, lda, work )
142 parameter( one = 1.0e+0, zero = 0.0e+0 )
146 REAL absa, sum, value
149 REAL ssq( 2 ), colssq( 2 )
165 ELSE IF(
lsame( norm,
'M' ) )
THEN
170 IF(
lsame( uplo,
'U' ) )
THEN
173 sum = abs( a( i, j ) )
174 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
180 sum = abs( a( i, j ) )
181 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
185 ELSE IF( (
lsame( norm,
'I' ) ) .OR. (
lsame( norm,
'O' ) ) .OR.
186 $ ( norm.EQ.
'1' ) )
THEN
191 IF(
lsame( uplo,
'U' ) )
THEN
195 absa = abs( a( i, j ) )
197 work( i ) = work( i ) + absa
199 work( j ) = sum + abs( a( j, j ) )
203 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
210 sum = work( j ) + abs( a( j, j ) )
212 absa = abs( a( i, j ) )
214 work( i ) = work( i ) + absa
216 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
219 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
231 IF(
lsame( uplo,
'U' ) )
THEN
235 CALL classq( j-1, a( 1, j ), 1, colssq(1), colssq(2) )
242 CALL classq( n-j, a( j+1, j ), 1, colssq(1), colssq(2) )
246 ssq( 2 ) = 2*ssq( 2 )
252 CALL classq( n, a, lda+1, colssq( 1 ), colssq( 2 ) )
254 VALUE = ssq( 1 )*sqrt( ssq( 2 ) )
subroutine scombssq(V1, V2)
SCOMBSSQ adds two scaled sum of squares quantities
subroutine classq(n, x, incx, scl, sumsq)
CLASSQ 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 clansy(NORM, UPLO, N, A, LDA, WORK)
CLANSY returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...