103      SUBROUTINE slarfg( N, ALPHA, X, INCX, TAU )
 
  121      parameter( one = 1.0e+0, zero = 0.0e+0 )
 
  125      REAL               BETA, RSAFMN, SAFMIN, XNORM
 
  128      REAL               SLAMCH, SLAPY2, SNRM2
 
  129      EXTERNAL           slamch, slapy2, snrm2
 
  144      xnorm = snrm2( n-1, x, incx )
 
  146      IF( xnorm.EQ.zero ) 
THEN 
  155         beta = -sign( slapy2( alpha, xnorm ), alpha )
 
  156         safmin = slamch( 
'S' ) / slamch( 
'E' )
 
  158         IF( abs( beta ).LT.safmin ) 
THEN 
  162            rsafmn = one / safmin
 
  165            CALL sscal( n-1, rsafmn, x, incx )
 
  168            IF( (abs( beta ).LT.safmin) .AND. (knt .LT. 20) )
 
  173            xnorm = snrm2( n-1, x, incx )
 
  174            beta = -sign( slapy2( alpha, xnorm ), alpha )
 
  176         tau = ( beta-alpha ) / beta
 
  177         CALL sscal( n-1, one / ( alpha-beta ), x, incx )
 
 
subroutine slarfg(n, alpha, x, incx, tau)
SLARFG generates an elementary reflector (Householder matrix).