--- rpl/lapack/lapack/dggsvd.f 2010/12/21 13:53:27 1.7 +++ rpl/lapack/lapack/dggsvd.f 2011/07/22 07:38:05 1.8 @@ -2,10 +2,10 @@ $ LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK, $ IWORK, INFO ) * -* -- LAPACK driver routine (version 3.2) -- +* -- LAPACK driver routine (version 3.3.1) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2006 +* -- April 2011 -- * * .. Scalar Arguments .. CHARACTER JOBQ, JOBU, JOBV @@ -24,10 +24,10 @@ * DGGSVD computes the generalized singular value decomposition (GSVD) * of an M-by-N real matrix A and P-by-N real matrix B: * -* 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, and Z' is the transpose -* of Z. Let K+L = the effective numerical rank of the matrix (A',B')', +* where U, V and Q are orthogonal matrices. +* Let K+L = the effective numerical rank of the matrix (A**T,B**T)**T, * then R is a K+L-by-K+L nonsingular upper triangular matrix, D1 and * D2 are M-by-(K+L) and P-by-(K+L) "diagonal" matrices and of the * following structures, respectively: @@ -86,13 +86,13 @@ * * In particular, if B is an N-by-N nonsingular matrix, then the GSVD of * A and B implicitly gives the SVD of A*inv(B): -* A*inv(B) = U*(D1*inv(D2))*V'. -* If ( A',B')' has orthonormal columns, then the GSVD of A and B is +* A*inv(B) = U*(D1*inv(D2))*V**T. +* If ( A**T,B**T)**T has orthonormal columns, then the GSVD of A and B is * also equal to the CS decomposition of A and B. Furthermore, the GSVD * can be used to derive the solution of the eigenvalue problem: -* A'*A x = lambda* B'*B x. +* A**T*A x = lambda* B**T*B x. * In some literature, the GSVD of A and B is presented in the form -* U'*A*X = ( 0 D1 ), V'*B*X = ( 0 D2 ) +* U**T*A*X = ( 0 D1 ), V**T*B*X = ( 0 D2 ) * where U and V are orthogonal and X is nonsingular, D1 and D2 are * ``diagonal''. The former GSVD form can be converted to the latter * form by taking the nonsingular matrix X as @@ -128,7 +128,7 @@ * L (output) INTEGER * On exit, K and L specify the dimension of the subblocks * described in the Purpose section. -* K + L = effective numerical rank of (A',B')'. +* K + L = effective numerical rank of (A**T,B**T)**T. * * A (input/output) DOUBLE PRECISION array, dimension (LDA,N) * On entry, the M-by-N matrix A. @@ -209,7 +209,7 @@ * TOLA DOUBLE PRECISION * TOLB DOUBLE PRECISION * TOLA and TOLB are the thresholds to determine the effective -* rank of (A',B')'. Generally, they are set to +* rank of (A',B')**T. Generally, they are set to * TOLA = MAX(M,N)*norm(A)*MAZHEPS, * TOLB = MAX(P,N)*norm(B)*MAZHEPS. * The size of TOLA and TOLB may affect the size of backward