XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ 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
A = L * U
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]nOrder 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