121      REAL             function 
clangb( norm, n, kl, ku, ab, ldab,
 
  130      INTEGER            kl, ku, ldab, n
 
  134      COMPLEX            ab( ldab, * )
 
  141      parameter( one = 1.0e+0, zero = 0.0e+0 )
 
  145      REAL               scale, sum, 
VALUE, temp
 
  155      INTRINSIC          abs, max, min, sqrt
 
  161      ELSE IF( 
lsame( norm, 
'M' ) ) 
THEN 
  167            DO 10 i = max( ku+2-j, 1 ), min( n+ku+1-j, kl+ku+1 )
 
  168               temp = abs( ab( i, j ) )
 
  169               IF( 
VALUE.LT.temp .OR. 
sisnan( temp ) ) 
VALUE = temp
 
  172      ELSE IF( ( 
lsame( norm, 
'O' ) ) .OR. ( norm.EQ.
'1' ) ) 
THEN 
  179            DO 30 i = max( ku+2-j, 1 ), min( n+ku+1-j, kl+ku+1 )
 
  180               sum = sum + abs( ab( i, j ) )
 
  182            IF( 
VALUE.LT.sum .OR. 
sisnan( sum ) ) 
VALUE = sum
 
  184      ELSE IF( 
lsame( norm, 
'I' ) ) 
THEN 
  193            DO 60 i = max( 1, j-ku ), min( n, j+kl )
 
  194               work( i ) = work( i ) + abs( ab( k+i, j ) )
 
  200            IF( 
VALUE.LT.temp .OR. 
sisnan( temp ) ) 
VALUE = temp
 
  202      ELSE IF( ( 
lsame( norm, 
'F' ) ) .OR.
 
  203     $         ( 
lsame( norm, 
'E' ) ) ) 
THEN 
  212            CALL classq( min( n, j+kl )-l+1, ab( k, j ), 1, scale,
 
  215         VALUE = scale*sqrt( sum )
 
 
real function clangb(norm, n, kl, ku, ab, ldab, work)
CLANGB returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
 
subroutine classq(n, x, incx, scale, sumsq)
CLASSQ updates a sum of squares represented in scaled form.