124 SUBROUTINE dgeql2( M, N, A, LDA, TAU, WORK, INFO )
132 INTEGER info, lda, m, n
135 DOUBLE PRECISION a( lda, * ), tau( * ), work( * )
142 parameter( one = 1.0d+0 )
161 ELSE IF( n.LT.0 )
THEN
163 ELSE IF( lda.LT.max( 1, m ) )
THEN
167 CALL
xerbla(
'DGEQL2', -info )
178 CALL
dlarfg( m-k+i, a( m-k+i, n-k+i ), a( 1, n-k+i ), 1,
183 aii = a( m-k+i, n-k+i )
184 a( m-k+i, n-k+i ) = one
185 CALL
dlarf(
'Left', m-k+i, n-k+i-1, a( 1, n-k+i ), 1, tau( i ),
187 a( m-k+i, n-k+i ) = aii
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
DLARFG generates an elementary reflector (Householder matrix).
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
DLARF applies an elementary reflector to a general rectangular matrix.
subroutine dgeql2(M, N, A, LDA, TAU, WORK, INFO)
DGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm...