122 SUBROUTINE dgeql2( M, N, A, LDA, TAU, WORK, INFO )
129 INTEGER INFO, LDA, M, N
132 DOUBLE PRECISION A( LDA, * ), TAU( * ), WORK( * )
139 parameter( one = 1.0d+0 )
158 ELSE IF( n.LT.0 )
THEN
160 ELSE IF( lda.LT.
max( 1, m ) )
THEN
164 CALL xerbla(
'DGEQL2', -info )
175 CALL dlarfg( m-k+i, a( m-k+i, n-k+i ), a( 1, n-k+i ), 1,
180 aii = a( m-k+i, n-k+i )
181 a( m-k+i, n-k+i ) = one
182 CALL dlarf(
'Left', m-k+i, n-k+i-1, a( 1, n-k+i ), 1, tau( i ),
184 a( m-k+i, n-k+i ) = aii
subroutine xerbla(srname, info)
XERBLA
subroutine dgeql2(m, n, a, lda, tau, work, info)
DGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm.
subroutine dlarfg(n, alpha, x, incx, tau)
DLARFG generates an elementary reflector (Householder matrix).
subroutine dlarf(side, m, n, v, incv, tau, c, ldc, work)
DLARF applies an elementary reflector to a general rectangular matrix.