111      DOUBLE PRECISION FUNCTION dlansp( NORM, UPLO, N, AP, WORK )
 
  122      DOUBLE PRECISION   ap( * ), work( * )
 
  128      DOUBLE PRECISION   one, zero
 
  129      parameter( one = 1.0d+0, zero = 0.0d+0 )
 
  133      DOUBLE PRECISION   absa, scale, sum, value
 
  149      ELSE IF( 
lsame( norm, 
'M' ) ) 
THEN 
  154         IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  157               DO 10 i = k, k + j - 1
 
  159                  IF( 
VALUE .LT. sum .OR. 
disnan( sum ) ) 
VALUE = sum
 
  166               DO 30 i = k, k + n - j
 
  168                  IF( 
VALUE .LT. sum .OR. 
disnan( sum ) ) 
VALUE = sum
 
  173      ELSE IF( ( 
lsame( norm, 
'I' ) ) .OR.
 
  174     $         ( 
lsame( norm, 
'O' ) ) .OR.
 
  175     $         ( norm.EQ.
'1' ) ) 
THEN 
  181         IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  185                  absa = abs( ap( k ) )
 
  187                  work( i ) = work( i ) + absa
 
  190               work( j ) = sum + abs( ap( k ) )
 
  195               IF( 
VALUE .LT. sum .OR. 
disnan( sum ) ) 
VALUE = sum
 
  202               sum = work( j ) + abs( ap( k ) )
 
  205                  absa = abs( ap( k ) )
 
  207                  work( i ) = work( i ) + absa
 
  210               IF( 
VALUE .LT. sum .OR. 
disnan( sum ) ) 
VALUE = sum
 
  213      ELSE IF( ( 
lsame( norm, 
'F' ) ) .OR.
 
  214     $         ( 
lsame( norm, 
'E' ) ) ) 
THEN 
  221         IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  223               CALL dlassq( j-1, ap( k ), 1, scale, sum )
 
  228               CALL dlassq( n-j, ap( k ), 1, scale, sum )
 
  235            IF( ap( k ).NE.zero ) 
THEN 
  236               absa = abs( ap( k ) )
 
  237               IF( scale.LT.absa ) 
THEN 
  238                  sum = one + sum*( scale / absa )**2
 
  241                  sum = sum + ( absa / scale )**2
 
  244            IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  250         VALUE = scale*sqrt( sum )
 
 
double precision function dlansp(norm, uplo, n, ap, work)
DLANSP returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...
subroutine dlassq(n, x, incx, scale, sumsq)
DLASSQ updates a sum of squares represented in scaled form.