version 1.5, 2010/08/07 13:22:47
|
version 1.8, 2011/07/22 07:38:22
|
Line 1
|
Line 1
|
SUBROUTINE ZUNMR3( SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, |
SUBROUTINE ZUNMR3( SIDE, TRANS, M, N, K, L, A, LDA, TAU, C, LDC, |
$ WORK, INFO ) |
$ WORK, INFO ) |
* |
* |
* -- 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, TRANS |
CHARACTER SIDE, TRANS |
Line 21
|
Line 21
|
* |
* |
* Q * C if SIDE = 'L' and TRANS = 'N', or |
* Q * C if SIDE = 'L' and TRANS = 'N', or |
* |
* |
* Q'* C if SIDE = 'L' and TRANS = 'C', or |
* Q**H* C if SIDE = 'L' and TRANS = 'C', or |
* |
* |
* C * Q if SIDE = 'R' and TRANS = 'N', or |
* C * Q if SIDE = 'R' and TRANS = 'N', or |
* |
* |
* C * Q' if SIDE = 'R' and TRANS = 'C', |
* C * Q**H if SIDE = 'R' and TRANS = 'C', |
* |
* |
* where Q is a complex unitary matrix defined as the product of k |
* where Q is a complex unitary matrix defined as the product of k |
* elementary reflectors |
* elementary reflectors |
Line 39
|
Line 39
|
* ========= |
* ========= |
* |
* |
* SIDE (input) CHARACTER*1 |
* SIDE (input) CHARACTER*1 |
* = 'L': apply Q or Q' from the Left |
* = 'L': apply Q or Q**H from the Left |
* = 'R': apply Q or Q' from the Right |
* = 'R': apply Q or Q**H from the Right |
* |
* |
* TRANS (input) CHARACTER*1 |
* TRANS (input) CHARACTER*1 |
* = 'N': apply Q (No transpose) |
* = 'N': apply Q (No transpose) |
* = 'C': apply Q' (Conjugate transpose) |
* = 'C': apply Q**H (Conjugate transpose) |
* |
* |
* M (input) INTEGER |
* M (input) INTEGER |
* The number of rows of the matrix C. M >= 0. |
* The number of rows of the matrix C. M >= 0. |
Line 80
|
Line 80
|
* |
* |
* C (input/output) COMPLEX*16 array, dimension (LDC,N) |
* C (input/output) COMPLEX*16 array, dimension (LDC,N) |
* On entry, the m-by-n matrix C. |
* On entry, the m-by-n matrix C. |
* On exit, C is overwritten by Q*C or Q'*C or C*Q' or C*Q. |
* On exit, C is overwritten by Q*C or Q**H*C or C*Q**H or C*Q. |
* |
* |
* LDC (input) INTEGER |
* LDC (input) INTEGER |
* The leading dimension of the array C. LDC >= max(1,M). |
* The leading dimension of the array C. LDC >= max(1,M). |
Line 182
|
Line 182
|
DO 10 I = I1, I2, I3 |
DO 10 I = I1, I2, I3 |
IF( LEFT ) THEN |
IF( LEFT ) THEN |
* |
* |
* H(i) or H(i)' is applied to C(i:m,1:n) |
* H(i) or H(i)**H is applied to C(i:m,1:n) |
* |
* |
MI = M - I + 1 |
MI = M - I + 1 |
IC = I |
IC = I |
ELSE |
ELSE |
* |
* |
* H(i) or H(i)' is applied to C(1:m,i:n) |
* H(i) or H(i)**H is applied to C(1:m,i:n) |
* |
* |
NI = N - I + 1 |
NI = N - I + 1 |
JC = I |
JC = I |
END IF |
END IF |
* |
* |
* Apply H(i) or H(i)' |
* Apply H(i) or H(i)**H |
* |
* |
IF( NOTRAN ) THEN |
IF( NOTRAN ) THEN |
TAUI = TAU( I ) |
TAUI = TAU( I ) |