178      SUBROUTINE clahr2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
 
  185      INTEGER            K, LDA, LDT, LDY, N, NB
 
  188      COMPLEX            A( LDA, * ), T( LDT, NB ), TAU( NB ),
 
  196      parameter( zero = ( 0.0e+0, 0.0e+0 ),
 
  197     $                     one = ( 1.0e+0, 0.0e+0 ) )
 
  224            CALL clacgv( i-1, a( k+i-1, 1 ), lda )
 
  225            CALL cgemv( 
'NO TRANSPOSE', n-k, i-1, -one, y(k+1,1),
 
  227     $                  a( k+i-1, 1 ), lda, one, a( k+1, i ), 1 )
 
  228            CALL clacgv( i-1, a( k+i-1, 1 ), lda )
 
  240            CALL ccopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
 
  241            CALL ctrmv( 
'Lower', 
'Conjugate transpose', 
'UNIT',
 
  243     $                  lda, t( 1, nb ), 1 )
 
  247            CALL cgemv( 
'Conjugate transpose', n-k-i+1, i-1,
 
  249     $                  lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
 
  253            CALL ctrmv( 
'Upper', 
'Conjugate transpose', 
'NON-UNIT',
 
  259            CALL cgemv( 
'NO TRANSPOSE', n-k-i+1, i-1, -one,
 
  261     $                  lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
 
  265            CALL ctrmv( 
'Lower', 
'NO TRANSPOSE',
 
  267     $                  a( k+1, 1 ), lda, t( 1, nb ), 1 )
 
  268            CALL caxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
 
  276         CALL clarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ),
 
  284         CALL cgemv( 
'NO TRANSPOSE', n-k, n-k-i+1,
 
  285     $               one, a( k+1, i+1 ),
 
  286     $               lda, a( k+i, i ), 1, zero, y( k+1, i ), 1 )
 
  287         CALL cgemv( 
'Conjugate transpose', n-k-i+1, i-1,
 
  288     $               one, a( k+i, 1 ), lda,
 
  289     $               a( k+i, i ), 1, zero, t( 1, i ), 1 )
 
  290         CALL cgemv( 
'NO TRANSPOSE', n-k, i-1, -one,
 
  292     $               t( 1, i ), 1, one, y( k+1, i ), 1 )
 
  293         CALL cscal( n-k, tau( i ), y( k+1, i ), 1 )
 
  297         CALL cscal( i-1, -tau( i ), t( 1, i ), 1 )
 
  298         CALL ctrmv( 
'Upper', 
'No Transpose', 
'NON-UNIT',
 
  308      CALL clacpy( 
'ALL', k, nb, a( 1, 2 ), lda, y, ldy )
 
  309      CALL ctrmm( 
'RIGHT', 
'Lower', 
'NO TRANSPOSE',
 
  311     $            one, a( k+1, 1 ), lda, y, ldy )
 
  313     $   
CALL cgemm( 
'NO TRANSPOSE', 
'NO TRANSPOSE', k,
 
  315     $               a( 1, 2+nb ), lda, a( k+1+nb, 1 ), lda, one, y,
 
  317      CALL ctrmm( 
'RIGHT', 
'Upper', 
'NO TRANSPOSE',
 
  319     $            one, t, ldt, y, ldy )
 
 
subroutine clahr2(n, k, nb, a, lda, tau, t, ldt, y, ldy)
CLAHR2 reduces the specified number of first columns of a general rectangular matrix A so that elemen...