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

version 1.7, 2010/12/21 13:53:45 version 1.8, 2011/07/22 07:38:14
Line 2 Line 2
      $                   LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK,       $                   LDB, ALPHA, BETA, U, LDU, V, LDV, Q, LDQ, WORK,
      $                   RWORK, IWORK, INFO )       $                   RWORK, 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
 *  ZGGSVD computes the generalized singular value decomposition (GSVD)  *  ZGGSVD computes the generalized singular value decomposition (GSVD)
 *  of an M-by-N complex matrix A and P-by-N complex matrix B:  *  of an M-by-N complex matrix A and P-by-N complex matrix B:
 *  *
 *        U'*A*Q = D1*( 0 R ),    V'*B*Q = D2*( 0 R )  *        U**H*A*Q = D1*( 0 R ),    V**H*B*Q = D2*( 0 R )
 *  *
 *  where U, V and Q are unitary matrices, and Z' means the conjugate  *  where U, V and Q are unitary matrices.
 *  transpose of Z.  Let K+L = the effective numerical rank of the  *  Let K+L = the effective numerical rank of the
 *  matrix (A',B')', then R is a (K+L)-by-(K+L) nonsingular upper  *  matrix (A**H,B**H)**H, 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"  *  triangular matrix, D1 and D2 are M-by-(K+L) and P-by-(K+L) "diagonal"
 *  matrices and of the following structures, respectively:  *  matrices and of the following structures, respectively:
 *  *
Line 85 Line 85
 *  *
 *  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**H.
 *  If ( A',B')' has orthnormal columns, then the GSVD of A and B is also  *  If ( A**H,B**H)**H has orthnormal columns, then the GSVD of A and B is also
 *  equal to the CS decomposition of A and B. Furthermore, the GSVD can  *  equal to the CS decomposition of A and B. Furthermore, the GSVD can
 *  be used to derive the solution of the eigenvalue problem:  *  be used to derive the solution of the eigenvalue problem:
 *                       A'*A x = lambda* B'*B x.  *                       A**H*A x = lambda* B**H*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**H*A*X = ( 0 D1 ),   V**H*B*X = ( 0 D2 )
 *  where U and V are orthogonal and X is nonsingular, and D1 and D2 are  *  where U and V are orthogonal and X is nonsingular, and 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 127 Line 127
 *  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 Purpose.  *          described in Purpose.
 *          K + L = effective numerical rank of (A',B')'.  *          K + L = effective numerical rank of (A**H,B**H)**H.
 *  *
 *  A       (input/output) COMPLEX*16 array, dimension (LDA,N)  *  A       (input/output) COMPLEX*16 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**H,B**H)**H. 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>