Diff for /rpl/lapack/lapack/dggsvd.f between versions 1.7 and 1.8

version 1.7, 2010/12/21 13:53:27 version 1.8, 2011/07/22 07:38:05
Line 2 Line 2
      $                   LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK,       $                   LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK,
      $                   IWORK, INFO )       $                   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,    --  *  -- 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          JOBQ, JOBU, JOBV        CHARACTER          JOBQ, JOBU, JOBV
Line 24 Line 24
 *  DGGSVD computes the generalized singular value decomposition (GSVD)  *  DGGSVD computes the generalized singular value decomposition (GSVD)
 *  of an M-by-N real matrix A and P-by-N real matrix B:  *  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  *  where U, V and Q are orthogonal matrices.
 *  of Z.  Let K+L = the effective numerical rank of the matrix (A',B')',  *  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  *  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  *  D2 are M-by-(K+L) and P-by-(K+L) "diagonal" matrices and of the
 *  following structures, respectively:  *  following structures, respectively:
Line 86 Line 86
 *  *
 *  In particular, if B is an N-by-N nonsingular matrix, then the GSVD of  *  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 and B implicitly gives the SVD of A*inv(B):
 *                       A*inv(B) = U*(D1*inv(D2))*V'.  *                       A*inv(B) = U*(D1*inv(D2))*V**T.
 *  If ( A',B')' has orthonormal columns, then the GSVD of A and B is  *  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  *  also equal to the CS decomposition of A and B. Furthermore, the GSVD
 *  can be used to derive the solution of the eigenvalue problem:  *  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  *  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  *  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  *  ``diagonal''.  The former GSVD form can be converted to the latter
 *  form by taking the nonsingular matrix X as  *  form by taking the nonsingular matrix X as
Line 128 Line 128
 *  L       (output) INTEGER  *  L       (output) INTEGER
 *          On exit, K and L specify the dimension of the subblocks  *          On exit, K and L specify the dimension of the subblocks
 *          described in the Purpose section.  *          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)  *  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
 *          On entry, the M-by-N matrix A.  *          On entry, the M-by-N matrix A.
Line 209 Line 209
 *  TOLA    DOUBLE PRECISION  *  TOLA    DOUBLE PRECISION
 *  TOLB    DOUBLE PRECISION  *  TOLB    DOUBLE PRECISION
 *          TOLA and TOLB are the thresholds to determine the effective  *          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,  *                   TOLA = MAX(M,N)*norm(A)*MAZHEPS,
 *                   TOLB = MAX(P,N)*norm(B)*MAZHEPS.  *                   TOLB = MAX(P,N)*norm(B)*MAZHEPS.
 *          The size of TOLA and TOLB may affect the size of backward  *          The size of TOLA and TOLB may affect the size of backward

Removed from v.1.7  
changed lines
  Added in v.1.8


CVSweb interface <joel.bertrand@systella.fr>