zgebd2 (l) - Linux Manuals
zgebd2: reduces a complex general m by n matrix A to upper or lower real bidiagonal form B by a unitary transformation
NAME
ZGEBD2 - reduces a complex general m by n matrix A to upper or lower real bidiagonal form B by a unitary transformationSYNOPSIS
- SUBROUTINE ZGEBD2(
- M, N, A, LDA, D, E, TAUQ, TAUP, WORK, INFO )
- INTEGER INFO, LDA, M, N
- DOUBLE PRECISION D( * ), E( * )
- COMPLEX*16 A( LDA, * ), TAUP( * ), TAUQ( * ), WORK( * )
PURPOSE
ZGEBD2 reduces a complex general m by n matrix A to upper or lower real bidiagonal form B by a unitary transformation: Qaq * A * P = B. If m >= n, B is upper bidiagonal; if m < n, B is lower bidiagonal.ARGUMENTS
- M (input) INTEGER
- The number of rows in the matrix A. M >= 0.
- N (input) INTEGER
- The number of columns in the matrix A. N >= 0.
- A (input/output) COMPLEX*16 array, dimension (LDA,N)
- On entry, the m by n general matrix to be reduced. On exit, if m >= n, the diagonal and the first superdiagonal are overwritten with the upper bidiagonal matrix B; the elements below the diagonal, with the array TAUQ, represent the unitary matrix Q as a product of elementary reflectors, and the elements above the first superdiagonal, with the array TAUP, represent the unitary matrix P as a product of elementary reflectors; if m < n, the diagonal and the first subdiagonal are overwritten with the lower bidiagonal matrix B; the elements below the first subdiagonal, with the array TAUQ, represent the unitary matrix Q as a product of elementary reflectors, and the elements above the diagonal, with the array TAUP, represent the unitary matrix P as a product of elementary reflectors. See Further Details. LDA (input) INTEGER The leading dimension of the array A. LDA >= max(1,M).
- D (output) DOUBLE PRECISION array, dimension (min(M,N))
- The diagonal elements of the bidiagonal matrix B: D(i) = A(i,i).
- E (output) DOUBLE PRECISION array, dimension (min(M,N)-1)
- The off-diagonal elements of the bidiagonal matrix B: if m >= n, E(i) = A(i,i+1) for i = 1,2,...,n-1; if m < n, E(i) = A(i+1,i) for i = 1,2,...,m-1.
- TAUQ (output) COMPLEX*16 array dimension (min(M,N))
- The scalar factors of the elementary reflectors which represent the unitary matrix Q. See Further Details. TAUP (output) COMPLEX*16 array, dimension (min(M,N)) The scalar factors of the elementary reflectors which represent the unitary matrix P. See Further Details. WORK (workspace) COMPLEX*16 array, dimension (max(M,N))
- INFO (output) INTEGER
-
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value.
FURTHER DETAILS
The matrices Q and P are represented as products of elementary reflectors:If m >= n,
Q
H(i)
Q
H(i)
The contents of A on exit are illustrated by the following examples: m = 6 and n = 5 (m > n): m = 5 and n = 6 (m < n):