version 1.7, 2010/12/21 13:53:31
|
version 1.8, 2011/07/22 07:38:07
|
Line 1
|
Line 1
|
SUBROUTINE DLARFT( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT ) |
SUBROUTINE DLARFT( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT ) |
IMPLICIT NONE |
IMPLICIT NONE |
* |
* |
* -- LAPACK auxiliary routine (version 3.2) -- |
* -- LAPACK auxiliary routine (version 3.3.1) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* November 2006 |
* -- April 2011 -- |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER DIRECT, STOREV |
CHARACTER DIRECT, STOREV |
Line 27
|
Line 27
|
* If STOREV = 'C', the vector which defines the elementary reflector |
* If STOREV = 'C', the vector which defines the elementary reflector |
* H(i) is stored in the i-th column of the array V, and |
* H(i) is stored in the i-th column of the array V, and |
* |
* |
* H = I - V * T * V' |
* H = I - V * T * V**T |
* |
* |
* If STOREV = 'R', the vector which defines the elementary reflector |
* If STOREV = 'R', the vector which defines the elementary reflector |
* H(i) is stored in the i-th row of the array V, and |
* H(i) is stored in the i-th row of the array V, and |
* |
* |
* H = I - V' * T * V |
* H = I - V**T * T * V |
* |
* |
* Arguments |
* Arguments |
* ========= |
* ========= |
Line 150
|
Line 150
|
END DO |
END DO |
J = MIN( LASTV, PREVLASTV ) |
J = MIN( LASTV, PREVLASTV ) |
* |
* |
* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)' * V(i:j,i) |
* T(1:i-1,i) := - tau(i) * V(i:j,1:i-1)**T * V(i:j,i) |
* |
* |
CALL DGEMV( 'Transpose', J-I+1, I-1, -TAU( I ), |
CALL DGEMV( 'Transpose', J-I+1, I-1, -TAU( I ), |
$ V( I, 1 ), LDV, V( I, I ), 1, ZERO, |
$ V( I, 1 ), LDV, V( I, I ), 1, ZERO, |
Line 162
|
Line 162
|
END DO |
END DO |
J = MIN( LASTV, PREVLASTV ) |
J = MIN( LASTV, PREVLASTV ) |
* |
* |
* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)' |
* T(1:i-1,i) := - tau(i) * V(1:i-1,i:j) * V(i,i:j)**T |
* |
* |
CALL DGEMV( 'No transpose', I-1, J-I+1, -TAU( I ), |
CALL DGEMV( 'No transpose', I-1, J-I+1, -TAU( I ), |
$ V( 1, I ), LDV, V( I, I ), LDV, ZERO, |
$ V( 1, I ), LDV, V( I, I ), LDV, ZERO, |
Line 207
|
Line 207
|
J = MAX( LASTV, PREVLASTV ) |
J = MAX( LASTV, PREVLASTV ) |
* |
* |
* T(i+1:k,i) := |
* T(i+1:k,i) := |
* - tau(i) * V(j:n-k+i,i+1:k)' * V(j:n-k+i,i) |
* - tau(i) * V(j:n-k+i,i+1:k)**T * V(j:n-k+i,i) |
* |
* |
CALL DGEMV( 'Transpose', N-K+I-J+1, K-I, -TAU( I ), |
CALL DGEMV( 'Transpose', N-K+I-J+1, K-I, -TAU( I ), |
$ V( J, I+1 ), LDV, V( J, I ), 1, ZERO, |
$ V( J, I+1 ), LDV, V( J, I ), 1, ZERO, |
Line 223
|
Line 223
|
J = MAX( LASTV, PREVLASTV ) |
J = MAX( LASTV, PREVLASTV ) |
* |
* |
* T(i+1:k,i) := |
* T(i+1:k,i) := |
* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)' |
* - tau(i) * V(i+1:k,j:n-k+i) * V(i,j:n-k+i)**T |
* |
* |
CALL DGEMV( 'No transpose', K-I, N-K+I-J+1, |
CALL DGEMV( 'No transpose', K-I, N-K+I-J+1, |
$ -TAU( I ), V( I+1, J ), LDV, V( I, J ), LDV, |
$ -TAU( I ), V( I+1, J ), LDV, V( I, J ), LDV, |