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, , 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 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 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