Developer Reference

Contents

?gttrf

Computes the LU factorization of a tridiagonal matrix.

Syntax

lapack_int
LAPACKE_sgttrf
(
lapack_int
n
,
float
*
dl
,
float
*
d
,
float
*
du
,
float
*
du2
,
lapack_int
*
ipiv
);
lapack_int
LAPACKE_dgttrf
(
lapack_int
n
,
double
*
dl
,
double
*
d
,
double
*
du
,
double
*
du2
,
lapack_int
*
ipiv
);
lapack_int
LAPACKE_cgttrf
(
lapack_int
n
,
lapack_complex_float
*
dl
,
lapack_complex_float
*
d
,
lapack_complex_float
*
du
,
lapack_complex_float
*
du2
,
lapack_int
*
ipiv
);
lapack_int
LAPACKE_zgttrf
(
lapack_int
n
,
lapack_complex_double
*
dl
,
lapack_complex_double
*
d
,
lapack_complex_double
*
du
,
lapack_complex_double
*
du2
,
lapack_int
*
ipiv
);
Include Files
  • mkl.h
Description
The routine computes the
LU
factorization of a real or 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 nonzeroes in only the main diagonal and first two superdiagonals.
Input Parameters
n
The order of the matrix
A
;
n
0.
dl
,
d
,
du
Arrays containing elements of
A
.
The array
dl
of dimension
(
n
- 1)
contains the subdiagonal elements of
A
.
The array
d
of dimension
n
contains the diagonal elements of
A
.
The array
du
of dimension
(
n
- 1)
contains the superdiagonal elements of
A
.
Output Parameters
dl
Overwritten by the
(
n
-1)
multipliers that define the matrix
L
from the
LU
factorization of
A
.
d
Overwritten by the
n
diagonal elements of the upper triangular matrix
U
from the
LU
factorization of
A
.
du
Overwritten by the
(
n
-1)
elements of the first superdiagonal of
U
.
du2
Array, dimension
(
n
-2)
. On exit,
du2
contains
(
n
-2)
elements of the second superdiagonal of
U
.
ipiv
Array, dimension (
n
). The pivot indices: for 1 ≤
i
n
, row
i
was interchanged with row
ipiv
[
i
-1].
ipiv
[
i
-1] is always
i
or
i
+1;
ipiv
[
i
-1] =
i
indicates a row interchange was not required.
Return Values
This function returns a value
info
.
If
info
= 0
, the execution is successful.
If
info
=
-i
, parameter
i
had an illegal value.
If
info
=
i
,
u
i
i
is 0. The factorization has been completed, but
U
is exactly singular. Division by zero will occur if you use the factor
U
for solving a system of linear equations.
Application Notes
to solve
A*X
=
B
or
A
T
*X
=
B
or
A
H
*X
=
B
to estimate the condition number of
A
.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.