|
|
| int PLASMA_zgebrd |
( |
int |
M, |
|
|
int |
N, |
|
|
PLASMA_Complex64_t * |
A, |
|
|
int |
LDA, |
|
|
double * |
D, |
|
|
double * |
E, |
|
|
PLASMA_desc * |
descT |
|
) |
| |
PLASMA_zgebrd - reduces a general complex M-by-N matrix A to upper or lower bidiagonal form B using a two-stage approach First stage: reduction to band bidiagonal form (orthogonal matrices Q1 and P1); Second stage: reduction from band to bidiagonal form (orthogonal matrices Q2 and P2). Let Q = Q1 * Q2 be the global left unitary transformation; Let P = P1 * P2 be the global right unitary transformation; Q**H * A * P = B. If M >= N, B is upper bidiagonal; if M < N, B is lower bidiagonal. Not LAPACK Compliant for now! Note: T is incomplete and contains only the block reflectors of the first stage. Therefore, Q and P can not be built completely.
- Parameters
-
| [in] | M | The number of rows of the matrix A. M >= 0. |
| [in] | N | The number of columns of the matrix A. N >= 0. |
| [in,out] | A | On entry, the M-by-N matrix A. 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 T, represent the unitary matrix Q as a product of elementary reflectors, and the elements above the first superdiagonal, with the array T, 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 T, represent the unitary matrix Q as a product of elementary reflectors, and the elements above the diagonal, with the array T, represent the unitary matrix P as a product of elementary reflectors. |
| [in] | LDA | The leading dimension of the array A. LDA >= max(1,M). |
| [out] | D | On exit, the diagonal elements of the bidiagonal matrix: D(i) = A(i,i). Dimension (min(M,N)). |
| [out] | E | On exit, the off-diagonal elements of the bidiagonal matrix: 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. Dimension (min(M,N)-1). |
| [out] | descT | On entry, descriptor as return by PLASMA_Alloc_Workspace_zgesvd On exit, contains auxiliary factorization data. |
- Returns
- Return values
-
| PLASMA_SUCCESS | successful exit |
| <0 | if -i, the i-th argument had an illegal value |
- See Also
- PLASMA_zgebrd_Tile
-
PLASMA_zgebrd_Tile_Async
-
PLASMA_cgebrd
-
PLASMA_dgebrd
-
PLASMA_sgebrd
|