124 SUBROUTINE sgerq2( M, N, A, LDA, TAU, WORK, INFO )
132 INTEGER INFO, LDA, M, N
135 REAL A( lda, * ), TAU( * ), WORK( * )
142 parameter ( one = 1.0e+0 )
161 ELSE IF( n.LT.0 )
THEN
163 ELSE IF( lda.LT.max( 1, m ) )
THEN
167 CALL xerbla(
'SGERQ2', -info )
178 CALL slarfg( n-k+i, a( m-k+i, n-k+i ), a( m-k+i, 1 ), lda,
183 aii = a( m-k+i, n-k+i )
184 a( m-k+i, n-k+i ) = one
185 CALL slarf(
'Right', m-k+i-1, n-k+i, a( m-k+i, 1 ), lda,
186 $ tau( i ), a, lda, work )
187 a( m-k+i, n-k+i ) = aii
subroutine slarfg(N, ALPHA, X, INCX, TAU)
SLARFG generates an elementary reflector (Householder matrix).
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 slarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
SLARF applies an elementary reflector to a general rectangular matrix.