122 SUBROUTINE sgerq2( M, N, A, LDA, TAU, WORK, INFO )
129 INTEGER INFO, LDA, M, N
132 REAL A( LDA, * ), TAU( * ), WORK( * )
139 parameter( one = 1.0e+0 )
158 ELSE IF( n.LT.0 )
THEN
160 ELSE IF( lda.LT.max( 1, m ) )
THEN
164 CALL xerbla(
'SGERQ2', -info )
175 CALL slarfg( n-k+i, a( m-k+i, n-k+i ), a( m-k+i, 1 ), lda,
180 aii = a( m-k+i, n-k+i )
181 a( m-k+i, n-k+i ) = one
182 CALL slarf(
'Right', m-k+i-1, n-k+i, a( m-k+i, 1 ), lda,
183 $ tau( i ), a, lda, work )
184 a( m-k+i, n-k+i ) = aii
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sgerq2(M, N, A, LDA, TAU, WORK, INFO)
SGERQ2 computes the RQ factorization of a general rectangular matrix using an unblocked algorithm.
subroutine slarfg(N, ALPHA, X, INCX, TAU)
SLARFG generates an elementary reflector (Householder matrix).
subroutine slarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
SLARF applies an elementary reflector to a general rectangular matrix.