1 SUBROUTINE dgebd2( M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO )
9 INTEGER INFO, LDA, M, N
12 DOUBLE PRECISION A( LDA, * ), D( * ), E( * ), TAUP( * ),
13 $ TAUQ( * ), WORK( * )
128 DOUBLE PRECISION ZERO, ONE
129 parameter( zero = 0.0d+0, one = 1.0d+0 )
147 ELSE IF( n.LT.0 )
THEN
149 ELSE IF( lda.LT.max( 1, m ) )
THEN
153 CALL xerbla(
'DGEBD2', -info )
165 CALL dlarfg( m-i+1, a( i, i ), a( min( i+1, m ), i ), 1,
172 CALL dlarf(
'Left', m-i+1, n-i, a( i, i ), 1, tauq( i ),
173 $ a( i, i+1 ), lda, work )
181 CALL dlarfg( n-i, a( i, i+1 ), a( i, min( i+2, n ) ),
188 CALL dlarf(
'Right', m-i, n-i, a( i, i+1 ), lda,
189 $ taup( i ), a( i+1, i+1 ), lda, work )
203 CALL dlarfg( n-i+1, a( i, i ), a( i, min( i+1, n ) ), lda,
210 CALL dlarf(
'Right', m-i, n-i+1, a( i, i ), lda, taup( i ),
211 $ a( min( i+1, m ), i ), lda, work )
219 CALL dlarfg( m-i, a( i+1, i ), a( min( i+2, m ), i ), 1,
226 CALL dlarf(
'Left', m-i, n-i, a( i+1, i ), 1, tauq( i ),
227 $ a( i+1, i+1 ), lda, work )
subroutine dgebd2(M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO)
subroutine dlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
subroutine xerbla(SRNAME, INFO)