F08KTF (ZUNGBR) generates one of the complex unitary matrices
Q or
PH which were determined by
F08KSF (ZGEBRD) when reducing a complex matrix to bidiagonal form.
F08KTF (ZUNGBR) is intended to be used after a call to
F08KSF (ZGEBRD), which reduces a complex rectangular matrix
A to real bidiagonal form
B by a unitary transformation:
A=QBPH.
F08KSF (ZGEBRD) represents the matrices
Q and
PH as products of elementary reflectors.
The various possibilities are specified by the parameters
VECT,
M,
N and
K. The appropriate values to cover the most likely cases are as follows (assuming that
A was an
m by
n matrix):
- To form the full m by m matrix Q:
CALL ZUNGBR('Q',m,m,n,...)
(note that the array A must have at least m columns).
- If m>n, to form the n leading columns of Q:
CALL ZUNGBR('Q',m,n,n,...)
- To form the full n by n matrix PH:
CALL ZUNGBR('P',n,n,m,...)
(note that the array A must have at least n rows).
- If m<n, to form the m leading rows of PH:
CALL ZUNGBR('P',m,n,m,...)
Golub G H and Van Loan C F (1996)
Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
The computed matrix
Q differs from an exactly unitary matrix by a matrix
E such that
where
ε is the
machine precision. A similar statement holds for the computed matrix
PH.
The total number of real floating point operations for the cases listed in
Section 3 are approximately as follows:
- To form the whole of Q:
- 163n3m2-3mn+n2 if m>n,
- 163m3 if m≤n;
- To form the n leading columns of Q when m>n:
- To form the whole of PH:
- 163n3 if m≥n,
- 163m33n2-3mn+m2 if m<n;
- To form the m leading rows of PH when m<n:
The real analogue of this routine is
F08KFF (DORGBR).
For this routine two examples are presented, both of which involve computing the singular value decomposition of a matrix
A, where
in the first example and
in the second.
A must first be reduced to tridiagonal form by
F08KSF (ZGEBRD). The program then calls F08KTF (ZUNGBR) twice to form
Q and
PH, and passes these matrices to
F08MSF (ZBDSQR), which computes the singular value decomposition of
A.