version 1.7, 2010/12/21 13:53:52
|
version 1.8, 2011/07/22 07:38:18
|
Line 1
|
Line 1
|
SUBROUTINE ZLARZ( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK ) |
SUBROUTINE ZLARZ( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK ) |
* |
* |
* -- LAPACK routine (version 3.2) -- |
* -- LAPACK 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 SIDE |
CHARACTER SIDE |
Line 21
|
Line 21
|
* M-by-N matrix C, from either the left or the right. H is represented |
* M-by-N matrix C, from either the left or the right. H is represented |
* in the form |
* in the form |
* |
* |
* H = I - tau * v * v' |
* H = I - tau * v * v**H |
* |
* |
* where tau is a complex scalar and v is a complex vector. |
* where tau is a complex scalar and v is a complex vector. |
* |
* |
* If tau = 0, then H is taken to be the unit matrix. |
* If tau = 0, then H is taken to be the unit matrix. |
* |
* |
* To apply H' (the conjugate transpose of H), supply conjg(tau) instead |
* To apply H**H (the conjugate transpose of H), supply conjg(tau) instead |
* tau. |
* tau. |
* |
* |
* H is a product of k elementary reflectors as returned by ZTZRZF. |
* H is a product of k elementary reflectors as returned by ZTZRZF. |
Line 105
|
Line 105
|
CALL ZCOPY( N, C, LDC, WORK, 1 ) |
CALL ZCOPY( N, C, LDC, WORK, 1 ) |
CALL ZLACGV( N, WORK, 1 ) |
CALL ZLACGV( N, WORK, 1 ) |
* |
* |
* w( 1:n ) = conjg( w( 1:n ) + C( m-l+1:m, 1:n )' * v( 1:l ) ) |
* w( 1:n ) = conjg( w( 1:n ) + C( m-l+1:m, 1:n )**H * v( 1:l ) ) |
* |
* |
CALL ZGEMV( 'Conjugate transpose', L, N, ONE, C( M-L+1, 1 ), |
CALL ZGEMV( 'Conjugate transpose', L, N, ONE, C( M-L+1, 1 ), |
$ LDC, V, INCV, ONE, WORK, 1 ) |
$ LDC, V, INCV, ONE, WORK, 1 ) |
Line 116
|
Line 116
|
CALL ZAXPY( N, -TAU, WORK, 1, C, LDC ) |
CALL ZAXPY( N, -TAU, WORK, 1, C, LDC ) |
* |
* |
* C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... |
* C( m-l+1:m, 1:n ) = C( m-l+1:m, 1:n ) - ... |
* tau * v( 1:l ) * conjg( w( 1:n )' ) |
* tau * v( 1:l ) * w( 1:n )**H |
* |
* |
CALL ZGERU( L, N, -TAU, V, INCV, WORK, 1, C( M-L+1, 1 ), |
CALL ZGERU( L, N, -TAU, V, INCV, WORK, 1, C( M-L+1, 1 ), |
$ LDC ) |
$ LDC ) |
Line 142
|
Line 142
|
CALL ZAXPY( M, -TAU, WORK, 1, C, 1 ) |
CALL ZAXPY( M, -TAU, WORK, 1, C, 1 ) |
* |
* |
* C( 1:m, n-l+1:n ) = C( 1:m, n-l+1:n ) - ... |
* C( 1:m, n-l+1:n ) = C( 1:m, n-l+1:n ) - ... |
* tau * w( 1:m ) * v( 1:l )' |
* tau * w( 1:m ) * v( 1:l )**H |
* |
* |
CALL ZGERC( M, L, -TAU, WORK, 1, V, INCV, C( 1, N-L+1 ), |
CALL ZGERC( M, L, -TAU, WORK, 1, V, INCV, C( 1, N-L+1 ), |
$ LDC ) |
$ LDC ) |