The **generalized** `QR`**(GQR) factorization** of an `n`-by-`m` matrix `A` and
an `n`-by-`p` matrix `B` is given by the pair of factorizations

`A` = `QR` and `B` = `QTZ`

where `Q` and `Z` are respectively `n`-by-`n` and `p`-by-`p` orthogonal
matrices
(or unitary matrices if `A` and `B` are complex).
`R` has the form:

or

where is upper triangular. `T` has the form

or

where or is upper triangular.

Note that if `B` is square and nonsingular, the GQR factorization
of `A` and `B` implicitly gives the `QR` factorization of the matrix :

without explicitly computing the matrix inverse or the product .

The routine xGGQRF computes the GQR factorization by
first computing the `QR` factorization of `A` and then
the `RQ` factorization of .
The orthogonal (or unitary) matrices `Q` and `Z`
can either be formed explicitly or just used to multiply another given matrix
in the same way as the
orthogonal (or unitary) matrix in the `QR` factorization
(see section 2.3.2).

The GQR factorization was introduced in [63][49]. The implementation of the GQR factorization here follows [2]. Further generalizations of the GQR factorization can be found in [25].

The GQR factorization can be used to solve the general (Gauss-Markov) linear
model problem (GLM) (see (2.3) and
[60][page 252]GVL2).
Using the GQR factorization of `A` and `B`, we rewrite the equation
`d` = `Ax` + `By` from (2.3) as

We partition this as

where

can be computed by xORMQR (or xUNMQR).

The GLM problem is solved by setting

from which we obtain the desired solutions

which can be computed by xTRSV, xGEMV and xORMRQ (or xUNMRQ).

Tue Nov 29 14:03:33 EST 1994