180 SUBROUTINE slahr2( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )
187 INTEGER K, LDA, LDT, LDY, N, NB
190 REAL A( LDA, * ), T( LDT, NB ), TAU( NB ),
198 parameter( zero = 0.0e+0,
226 CALL sgemv(
'NO TRANSPOSE', n-k, i-1, -one, y(k+1,1), ldy,
227 $ a( k+i-1, 1 ), lda, one, a( k+1, i ), 1 )
239 CALL scopy( i-1, a( k+1, i ), 1, t( 1, nb ), 1 )
240 CALL strmv(
'Lower',
'Transpose',
'UNIT',
242 $ lda, t( 1, nb ), 1 )
246 CALL sgemv(
'Transpose', n-k-i+1, i-1,
248 $ lda, a( k+i, i ), 1, one, t( 1, nb ), 1 )
252 CALL strmv(
'Upper',
'Transpose',
'NON-UNIT',
258 CALL sgemv(
'NO TRANSPOSE', n-k-i+1, i-1, -one,
260 $ lda, t( 1, nb ), 1, one, a( k+i, i ), 1 )
264 CALL strmv(
'Lower',
'NO TRANSPOSE',
266 $ a( k+1, 1 ), lda, t( 1, nb ), 1 )
267 CALL saxpy( i-1, -one, t( 1, nb ), 1, a( k+1, i ), 1 )
275 CALL slarfg( n-k-i+1, a( k+i, i ), a( min( k+i+1, n ), i ), 1,
282 CALL sgemv(
'NO TRANSPOSE', n-k, n-k-i+1,
283 $ one, a( k+1, i+1 ),
284 $ lda, a( k+i, i ), 1, zero, y( k+1, i ), 1 )
285 CALL sgemv(
'Transpose', n-k-i+1, i-1,
286 $ one, a( k+i, 1 ), lda,
287 $ a( k+i, i ), 1, zero, t( 1, i ), 1 )
288 CALL sgemv(
'NO TRANSPOSE', n-k, i-1, -one,
290 $ t( 1, i ), 1, one, y( k+1, i ), 1 )
291 CALL sscal( n-k, tau( i ), y( k+1, i ), 1 )
295 CALL sscal( i-1, -tau( i ), t( 1, i ), 1 )
296 CALL strmv(
'Upper',
'No Transpose',
'NON-UNIT',
306 CALL slacpy(
'ALL', k, nb, a( 1, 2 ), lda, y, ldy )
307 CALL strmm(
'RIGHT',
'Lower',
'NO TRANSPOSE',
309 $ one, a( k+1, 1 ), lda, y, ldy )
311 $
CALL sgemm(
'NO TRANSPOSE',
'NO TRANSPOSE', k,
313 $ a( 1, 2+nb ), lda, a( k+1+nb, 1 ), lda, one, y,
315 CALL strmm(
'RIGHT',
'Upper',
'NO TRANSPOSE',
317 $ one, t, ldt, y, ldy )
subroutine saxpy(n, sa, sx, incx, sy, incy)
SAXPY
subroutine scopy(n, sx, incx, sy, incy)
SCOPY
subroutine sgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
SGEMM
subroutine sgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
SGEMV
subroutine slacpy(uplo, m, n, a, lda, b, ldb)
SLACPY copies all or part of one two-dimensional array to another.
subroutine slahr2(n, k, nb, a, lda, tau, t, ldt, y, ldy)
SLAHR2 reduces the specified number of first columns of a general rectangular matrix A so that elemen...
subroutine slarfg(n, alpha, x, incx, tau)
SLARFG generates an elementary reflector (Householder matrix).
subroutine sscal(n, sa, sx, incx)
SSCAL
subroutine strmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
STRMM
subroutine strmv(uplo, trans, diag, n, a, lda, x, incx)
STRMV