The generalized (or quotient) singular value decomposition of an m-by-n matrix A and a p-by-n matrix B is described in section 2.2.5. The routines described in this section, are used to compute the decomposition. The computation proceeds in the following two stages:
where and are nonsingular upper triangular, and is upper triangular. If m - k - 1 < 0, the bottom zero block of does not appear, and is upper trapezoidal. , and are orthogonal matrices (or unitary matrices if A and B are complex). l is the rank of B, and k + l is the rank of .
Here , and are orthogonal (or unitary) matrices, C and S are both real nonnegative diagonal matrices satisfying , S is nonsingular, and R is upper triangular and nonsingular.
-------------------------------------------------------- Single precision Double precision Operation real complex real complex -------------------------------------------------------- triangular reduction SGGSVP CGGSVP DGGSVP ZGGSVP of A and B -------------------------------------------------------- GSVD of a pair of STGSJA CTGSJA DTGSJA ZTGSJA triangular matrices --------------------------------------------------------Table 2.16: Computational routines for the generalized singular value decomposition
The reduction to triangular form, performed by xGGSVP, uses QR decomposition with column pivoting for numerical rank determination. See [12] for details.
The generalized singular value decomposition of two triangular matrices, performed by xTGSJA, is done using a Jacobi-like method as described in [10][62].