gsvd
Generalized singular value decomposition
Syntax
Description
returns the vector of generalized singular values,
sigma
= gsvd(A
,B
)sqrt(diag(C'*C)./diag(S'*S))
. When B
is square and
nonsingular, the generalized singular values, gsvd(A,B)
, correspond to
the ordinary singular values, svd(A/B)
, but they are sorted in the
opposite order. Their reciprocals are gsvd(B,A)
.
Examples
Input Arguments
Output Arguments
Tips
In this formulation of the
gsvd
, no assumptions are made about the individual ranks ofA
orB
. The matrixX
has full rank if and only if the matrix[A; B]
has full rank. In fact,svd(X)
andcond(X)
are equal tosvd([A; B])
andcond([A; B])
. Other formulations, such as in G. Golub and C. Van Loan [1], require thatnull(A)
andnull(B)
do not overlap and replaceX
withinv(X)
orinv(X')
.Note, however, that when
null(A)
andnull(B)
do overlap, the nonzero elements ofC
andS
are not uniquely determined.
Algorithms
The generalized singular value decomposition performed by the gsvd
function uses the C-S decomposition described in [1], as well as the built-in svd
and qr
functions.
References
[1] Golub, Gene H., and Charles F. Van Loan. Matrix Computations. 3rd ed. Johns Hopkins Studies in the Mathematical Sciences. Baltimore: Johns Hopkins University Press, 1996.