|
|
◆ zgttrf()
| void zgttrf |
( |
int |
n, |
|
|
doublecomplex |
dl[], |
|
|
doublecomplex |
d[], |
|
|
doublecomplex |
du[], |
|
|
doublecomplex |
du2[], |
|
|
int |
ipiv[], |
|
|
int * |
info |
|
) |
| |
LU factorization of a complex tridiagonal matrix
- Purpose
- This routine computes an LU factorization of a complex tridiagonal matrix A using elimination with partial pivoting and row interchanges. The factorization has the form where L is a product of permutation and unit lower bidiagonal matrices and U is upper triangular with nonzeros in only the main diagonal and first two super-diagonals.
- Parameters
-
| [in] | n | Order of the matrix A. (n >= 0) (If n = 0, returns without computation) |
| [in,out] | dl[] | Array dl[ldl] (ldl >= n - 1)
[in] n-1 sub-diagonal elements of A.
[out] n-1 multipliers that define the matrix L from the LU factorization of A. |
| [in,out] | d[] | Array d[ld] (ld >= n)
[in] Diagonal elements of A.
[out] n diagonal elements of the upper triangular matrix U from the LU factorization of A. |
| [in,out] | du[] | Array du[ldu] (ldu >= n - 1)
[in] n-1 super-diagonal elements of A.
[out] n-1 elements of the first super-diagonal of U. |
| [out] | du2[] | Array du2[ldu2] (ldu2 >= n - 2)
n-2 elements of the second super-diagonal of U. |
| [out] | ipiv[] | Array ipiv[lipiv] (lipiv >= n)
Pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row ipiv[i-1]. ipiv[i-1] will always be either i or i+1; ipiv[i-1] = i indicates a row interchange was not required. |
| [out] | info | = 0: Successful exit
= -1: The argument n had an illegal value (n < 0)
= i > 0: The i-th diagonal element of the factor U is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations. |
- Reference
- LAPACK
|