|
◆ Zupgtr()
Sub Zupgtr |
( |
Uplo As |
String, |
|
|
N As |
Long, |
|
|
Ap() As |
Complex, |
|
|
Tau() As |
Complex, |
|
|
Q() As |
Complex, |
|
|
Info As |
Long |
|
) |
| |
Generates a transform matrix from a complex Hermitian matrix in packed form to tridiagonal form
- Purpose
- This routine generates a complex unitary matrix Q which is defined as the product of N - 1 elementary reflectors of order N, as returned by Zhptrd.
If Uplo = "U", Q = H(N-1) . . . H(2) H(1).
If Uplo = "L", Q = H(1) H(2) . . . H(N-1).
- Parameters
-
[in] | Uplo | = "U": Upper triangular packed storage used in previous call to Zhptrd.
= "L": Lower triangular packed storage used in previous call to Zhptrd. |
[in] | N | Order of the matrix Q. (N >= 0) (If N = 0, returns without computation) |
[in,out] | A() | Array A(LA1 - 1, LA2 - 1) (LA1 >= N, LA2 >= N)
[in] The vectors which define the elementary reflectors, as returned by Zhptrd.
[out] The N x N unitary matrix Q. |
[in] | Tau() | Array Tau(LTau - 1) (LTau >= N - 1)
Tau(i) must contain the scalar factor of the elementary reflector H(i), as returned by Zhptrd. |
[out] | Q() | Array Q(LQ1 - 1, LQ2 - 1) (LQ1 >= N, LQ2 >= N)
The n x n unitary matrix Q. |
[out] | Info | = 0: Successful exit.
= -1: The argument Uplo had an illegal value (Uplo != "U" nor "L")
= -2: The argument N had an illegal value (N < 0)
= -3: The argument Ap() is invalid.
= -4: The argument Tau() is invalid.
= -5: The argument Q() is invalid. |
- Reference
- LAPACK
|