# gttrf - Man Page

gttrf: triangular factor

## Synopsis

### Functions

subroutine cgttrf (n, dl, d, du, du2, ipiv, info)
CGTTRF
subroutine dgttrf (n, dl, d, du, du2, ipiv, info)
DGTTRF
subroutine sgttrf (n, dl, d, du, du2, ipiv, info)
SGTTRF
subroutine zgttrf (n, dl, d, du, du2, ipiv, info)
ZGTTRF

## Function Documentation

### subroutine cgttrf (integer n, complex, dimension( * ) dl, complex, dimension( * ) d, complex, dimension( * ) du, complex, dimension( * ) du2, integer, dimension( * ) ipiv, integer info)

CGTTRF

Purpose:

``` CGTTRF 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 superdiagonals.```
Parameters

N

```          N is INTEGER
The order of the matrix A.```

DL

```          DL is COMPLEX array, dimension (N-1)
On entry, DL must contain the (n-1) sub-diagonal elements of
A.

On exit, DL is overwritten by the (n-1) multipliers that
define the matrix L from the LU factorization of A.```

D

```          D is COMPLEX array, dimension (N)
On entry, D must contain the diagonal elements of A.

On exit, D is overwritten by the n diagonal elements of the
upper triangular matrix U from the LU factorization of A.```

DU

```          DU is COMPLEX array, dimension (N-1)
On entry, DU must contain the (n-1) super-diagonal elements
of A.

On exit, DU is overwritten by the (n-1) elements of the first
super-diagonal of U.```

DU2

```          DU2 is COMPLEX array, dimension (N-2)
On exit, DU2 is overwritten by the (n-2) elements of the
second super-diagonal of U.```

IPIV

```          IPIV is INTEGER array, dimension (N)
The pivot indices; for 1 <= i <= n, row i of the matrix was
interchanged with row IPIV(i).  IPIV(i) will always be either
i or i+1; IPIV(i) = i indicates a row interchange was not
required.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -k, the k-th argument had an illegal value
> 0:  if INFO = k, U(k,k) 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.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Definition at line 123 of file cgttrf.f.

### subroutine dgttrf (integer n, double precision, dimension( * ) dl, double precision, dimension( * ) d, double precision, dimension( * ) du, double precision, dimension( * ) du2, integer, dimension( * ) ipiv, integer info)

DGTTRF

Purpose:

``` DGTTRF computes an LU factorization of a real 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 superdiagonals.```
Parameters

N

```          N is INTEGER
The order of the matrix A.```

DL

```          DL is DOUBLE PRECISION array, dimension (N-1)
On entry, DL must contain the (n-1) sub-diagonal elements of
A.

On exit, DL is overwritten by the (n-1) multipliers that
define the matrix L from the LU factorization of A.```

D

```          D is DOUBLE PRECISION array, dimension (N)
On entry, D must contain the diagonal elements of A.

On exit, D is overwritten by the n diagonal elements of the
upper triangular matrix U from the LU factorization of A.```

DU

```          DU is DOUBLE PRECISION array, dimension (N-1)
On entry, DU must contain the (n-1) super-diagonal elements
of A.

On exit, DU is overwritten by the (n-1) elements of the first
super-diagonal of U.```

DU2

```          DU2 is DOUBLE PRECISION array, dimension (N-2)
On exit, DU2 is overwritten by the (n-2) elements of the
second super-diagonal of U.```

IPIV

```          IPIV is INTEGER array, dimension (N)
The pivot indices; for 1 <= i <= n, row i of the matrix was
interchanged with row IPIV(i).  IPIV(i) will always be either
i or i+1; IPIV(i) = i indicates a row interchange was not
required.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -k, the k-th argument had an illegal value
> 0:  if INFO = k, U(k,k) 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.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Definition at line 123 of file dgttrf.f.

### subroutine sgttrf (integer n, real, dimension( * ) dl, real, dimension( * ) d, real, dimension( * ) du, real, dimension( * ) du2, integer, dimension( * ) ipiv, integer info)

SGTTRF

Purpose:

``` SGTTRF computes an LU factorization of a real 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 superdiagonals.```
Parameters

N

```          N is INTEGER
The order of the matrix A.```

DL

```          DL is REAL array, dimension (N-1)
On entry, DL must contain the (n-1) sub-diagonal elements of
A.

On exit, DL is overwritten by the (n-1) multipliers that
define the matrix L from the LU factorization of A.```

D

```          D is REAL array, dimension (N)
On entry, D must contain the diagonal elements of A.

On exit, D is overwritten by the n diagonal elements of the
upper triangular matrix U from the LU factorization of A.```

DU

```          DU is REAL array, dimension (N-1)
On entry, DU must contain the (n-1) super-diagonal elements
of A.

On exit, DU is overwritten by the (n-1) elements of the first
super-diagonal of U.```

DU2

```          DU2 is REAL array, dimension (N-2)
On exit, DU2 is overwritten by the (n-2) elements of the
second super-diagonal of U.```

IPIV

```          IPIV is INTEGER array, dimension (N)
The pivot indices; for 1 <= i <= n, row i of the matrix was
interchanged with row IPIV(i).  IPIV(i) will always be either
i or i+1; IPIV(i) = i indicates a row interchange was not
required.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -k, the k-th argument had an illegal value
> 0:  if INFO = k, U(k,k) 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.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Definition at line 123 of file sgttrf.f.

### subroutine zgttrf (integer n, complex*16, dimension( * ) dl, complex*16, dimension( * ) d, complex*16, dimension( * ) du, complex*16, dimension( * ) du2, integer, dimension( * ) ipiv, integer info)

ZGTTRF

Purpose:

``` ZGTTRF 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 superdiagonals.```
Parameters

N

```          N is INTEGER
The order of the matrix A.```

DL

```          DL is COMPLEX*16 array, dimension (N-1)
On entry, DL must contain the (n-1) sub-diagonal elements of
A.

On exit, DL is overwritten by the (n-1) multipliers that
define the matrix L from the LU factorization of A.```

D

```          D is COMPLEX*16 array, dimension (N)
On entry, D must contain the diagonal elements of A.

On exit, D is overwritten by the n diagonal elements of the
upper triangular matrix U from the LU factorization of A.```

DU

```          DU is COMPLEX*16 array, dimension (N-1)
On entry, DU must contain the (n-1) super-diagonal elements
of A.

On exit, DU is overwritten by the (n-1) elements of the first
super-diagonal of U.```

DU2

```          DU2 is COMPLEX*16 array, dimension (N-2)
On exit, DU2 is overwritten by the (n-2) elements of the
second super-diagonal of U.```

IPIV

```          IPIV is INTEGER array, dimension (N)
The pivot indices; for 1 <= i <= n, row i of the matrix was
interchanged with row IPIV(i).  IPIV(i) will always be either
i or i+1; IPIV(i) = i indicates a row interchange was not
required.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -k, the k-th argument had an illegal value
> 0:  if INFO = k, U(k,k) 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.```
Author

Univ. of Tennessee

Univ. of California Berkeley