172 SUBROUTINE stpqrt2( M, N, L, A, LDA, B, LDB, T, LDT, INFO )
179 INTEGER INFO, LDA, LDB, LDT, N, M, L
182 REAL A( LDA, * ), B( LDB, * ), T( LDT, * )
189 parameter( one = 1.0, zero = 0.0 )
192 INTEGER I, J, P, MP, NP
208 ELSE IF( n.LT.0 )
THEN
210 ELSE IF( l.LT.0 .OR. l.GT.min(m,n) )
THEN
212 ELSE IF( lda.LT.max( 1, n ) )
THEN
214 ELSE IF( ldb.LT.max( 1, m ) )
THEN
216 ELSE IF( ldt.LT.max( 1, n ) )
THEN
220 CALL xerbla(
'STPQRT2', -info )
226 IF( n.EQ.0 .OR. m.EQ.0 )
RETURN
233 CALL slarfg( p+1, a( i, i ), b( 1, i ), 1, t( i, 1 ) )
239 t( j, n ) = (a( i, i+j ))
241 CALL sgemv(
'T', p, n-i, one, b( 1, i+1 ), ldb,
242 $ b( 1, i ), 1, one, t( 1, n ), 1 )
248 a( i, i+j ) = a( i, i+j ) + alpha*(t( j, n ))
250 CALL sger( p, n-i, alpha, b( 1, i ), 1,
251 $ t( 1, n ), 1, b( 1, i+1 ), ldb )
271 t( j, i ) = alpha*b( m-l+j, i )
273 CALL strmv(
'U',
'T',
'N', p, b( mp, 1 ), ldb,
278 CALL sgemv(
'T', l, i-1-p, alpha, b( mp, np ), ldb,
279 $ b( mp, i ), 1, zero, t( np, i ), 1 )
283 CALL sgemv(
'T', m-l, i-1, alpha, b, ldb, b( 1, i ), 1,
284 $ one, t( 1, i ), 1 )
288 CALL strmv(
'U',
'N',
'N', i-1, t, ldt, t( 1, i ), 1 )
292 t( i, i ) = t( i, 1 )
subroutine xerbla(srname, info)
subroutine sgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
SGEMV
subroutine sger(m, n, alpha, x, incx, y, incy, a, lda)
SGER
subroutine slarfg(n, alpha, x, incx, tau)
SLARFG generates an elementary reflector (Householder matrix).
subroutine stpqrt2(m, n, l, a, lda, b, ldb, t, ldt, info)
STPQRT2 computes a QR factorization of a real or complex "triangular-pentagonal" matrix,...
subroutine strmv(uplo, trans, diag, n, a, lda, x, incx)
STRMV