lapgsvds¶
Purpose¶
Compute the generalized singular value decomposition of a pair of real or complex general matrices.
Format¶
-
{ C, S, R } =
lapgsvds(A, B)¶ Parameters: - A (MxN real or complex matrix) – data
- B (PxN real or complex matrix) – data
Returns: - C (Lx1 vector) – singular values for A.
- S (Lx1 vector) – singular values for B.
- R ((K+L)x(K+L)) – upper triangular matrix.
Remarks¶
- The generalized singular value decomposition of A and B is
\[U'AQ = D_1Z\]
\[V'BQ = D_2Z\]
where U, V, and Q are orthogonal matrices (see lapgsvdcst() and
lapgsvdst()). Letting K+L = the rank of \(A|B\) then R is a (K+L)x(K+L) upper
triangular matrix, \(D_1\) and \(D_2\) are Mx(K+L) and Px(K+L) matrices with
entries on the diagonal, \(Z = [0\; R]\), and if \(M-K-L \geq 0\)
K L
D1 = K [ I 0 ]
L [ 0 C ]
M - K - L [ 0 0 ]
K L
D2 = P [ 0 S ]
P - L [ 0 0 ]
N-K-L K L
[ 0 R ] = K [ 0 R11 R12 ]
L [ 0 0 R22 ]
or if \(M-K-L \lt 0\)
K M-K K+L-M
D1 = K [ I 0 0 ]
M-K [ 0 0 0 ]
N-K-L K M-K K+L-M
K [ 0 R11 R12 R13 ]
[ 0 R ] = M-K [ 0 0 R22 R23 ]
K+L-M [ 0 0 0 R33 ]
- Form the matrix
X = Q [ I 0 ]
[ 0 R^-1 ]
then
\[A = U'^{-1}E_1X\]
\[B = V'^{-1}E_2X^{-1}\]
where
E1 = [ 0 D1 ]
E2 = [ 0 D2 ]
(3) The generalized singular value decomposition of A and B implicitly produces the singular value decomposition of \(AB^{-1}`\):
\[AB^{-1} = UD_1D_2^{-1}V'\]
This procedure calls the LAPACK routines DGGSVD and ZGGSVD.
See also
Functions lapgsvdcst(), lapgsvdst()