lapgsvdst#
Purpose#
Compute the generalized singular value decomposition of a pair of real or complex general matrices.
Format#
- { D1, D2, Z, U, V, Q } = lapgsvdst(A, B)#
- Parameters:
A (MxN matrix) – data
B (PxN matrix) – data
- Returns:
D1 (Mx(K+L) matrix) – with singular values for A on diagonal.
D2 (Px(K+L) matrix) – with singular values for B on diagonal.
Z ((K+L)xN matrix) – partitioned matrix composed of a zero matrix and upper triangular matrix.
U (MxM matrix) – orthogonal transformation matrix.
V (PxP matrix) – orthogonal transformation matrix.
Q (NxN matrix) – orthogonal transformation matrix.
Remarks#
The generalized singular value decomposition of A and B is
where U, V, and Q are orthogonal matrices (see lapgsvdcst()
and
lapgsvdst()
). Letting K+L = the rank of
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
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
where
E1 = [ 0 D1 ]
E2 = [ 0 D2 ]
(3) The generalized singular value decomposition of A and B implicitly
produces the singular value decomposition of
This procedure calls the LAPACK routines DGGSVD and ZGGSVD.
See also
Functions lapgsvds()
, lapgsvdcst()