Dew Math for .NET
|
Computes generalized singular value decomposition.
Computes the generalized singular value decomposition (GSVD) of an M-by-N real matrix A and P-by-N real matrix B:
where U, V and Q are orthogonal matrices, and Z' is the transpose of Z. The routine computes optionally the orthogonal transformation matrices U, V and Q. D1 and D2 are diagonal matrices, which on their diagonals contain C and S.
The generalized singular values, stored in C and S on exit, have the property:
The generalized singular value pairs of A and B in case of rank deficiency are stored like this:
Effective rank is k + l.
If B is an N-by-N nonsingular matrix, then the GSVD of A and B implicitly gives the SVD of A*inv(B):
If ( A',B')' has orthonormal columns, then the GSVD of A and B is also equal to the CS decomposition of A and B. Furthermore, the GSVD can be used to derive the solution of the eigenvalue problem:
In some literature, the GSVD of A and B is presented in the form
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 form by taking the nonsingular matrix X as:
The function returns the effective numerical rank of (A', B') = K + L.
Reference: Lapack v3.4 source code
Copyright (c) 1999-2022 by Dew Research. All rights reserved.
|
What do you think about this topic? Send feedback!
|