version 1.1, 2010/01/26 15:22:45
|
version 1.8, 2011/07/22 07:38:12
|
Line 2
|
Line 2
|
$ LDB, TOLA, TOLB, ALPHA, BETA, U, LDU, V, LDV, |
$ LDB, TOLA, TOLB, ALPHA, BETA, U, LDU, V, LDV, |
$ Q, LDQ, WORK, NCYCLE, INFO ) |
$ Q, LDQ, WORK, NCYCLE, INFO ) |
* |
* |
* -- LAPACK routine (version 3.2.1) -- |
* -- 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..-- |
* -- April 2009 -- |
* -- April 2009 -- |
Line 48
|
Line 48
|
* |
* |
* On exit, |
* On exit, |
* |
* |
* U'*A*Q = D1*( 0 R ), V'*B*Q = D2*( 0 R ), |
* U**T *A*Q = D1*( 0 R ), V**T *B*Q = D2*( 0 R ), |
* |
* |
* where U, V and Q are orthogonal matrices, Z' denotes the transpose |
* where U, V and Q are orthogonal matrices. |
* of Z, R is a nonsingular upper triangular matrix, and D1 and D2 are |
* R is a nonsingular upper triangular matrix, and D1 and D2 are |
* ``diagonal'' matrices, which are of the following structures: |
* ``diagonal'' matrices, which are of the following structures: |
* |
* |
* If M-K-L >= 0, |
* If M-K-L >= 0, |
Line 247
|
Line 247
|
* min(L,M-K)-by-L triangular (or trapezoidal) matrix A23 and L-by-L |
* min(L,M-K)-by-L triangular (or trapezoidal) matrix A23 and L-by-L |
* matrix B13 to the form: |
* matrix B13 to the form: |
* |
* |
* U1'*A13*Q1 = C1*R1; V1'*B13*Q1 = S1*R1, |
* U1**T *A13*Q1 = C1*R1; V1**T *B13*Q1 = S1*R1, |
* |
* |
* where U1, V1 and Q1 are orthogonal matrix, and Z' is the transpose |
* where U1, V1 and Q1 are orthogonal matrix, and Z**T is the transpose |
* of Z. C1 and S1 are diagonal matrices satisfying |
* of Z. C1 and S1 are diagonal matrices satisfying |
* |
* |
* C1**2 + S1**2 = I, |
* C1**2 + S1**2 = I, |
Line 367
|
Line 367
|
CALL DLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, |
CALL DLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, |
$ CSV, SNV, CSQ, SNQ ) |
$ CSV, SNV, CSQ, SNQ ) |
* |
* |
* Update (K+I)-th and (K+J)-th rows of matrix A: U'*A |
* Update (K+I)-th and (K+J)-th rows of matrix A: U**T *A |
* |
* |
IF( K+J.LE.M ) |
IF( K+J.LE.M ) |
$ CALL DROT( L, A( K+J, N-L+1 ), LDA, A( K+I, N-L+1 ), |
$ CALL DROT( L, A( K+J, N-L+1 ), LDA, A( K+I, N-L+1 ), |
$ LDA, CSU, SNU ) |
$ LDA, CSU, SNU ) |
* |
* |
* Update I-th and J-th rows of matrix B: V'*B |
* Update I-th and J-th rows of matrix B: V**T *B |
* |
* |
CALL DROT( L, B( J, N-L+1 ), LDB, B( I, N-L+1 ), LDB, |
CALL DROT( L, B( J, N-L+1 ), LDB, B( I, N-L+1 ), LDB, |
$ CSV, SNV ) |
$ CSV, SNV ) |