Developer Reference

Contents

?pttrsv

Solves a symmetric (Hermitian) positive-definite tridiagonal system of linear equations, using the L*D*L
H
factorization computed by
?pttrf
.

Syntax

void
spttrsv
(
char
*trans
,
MKL_INT
*n
,
MKL_INT
*nrhs
,
float
*d
,
float
*e
,
float
*b
,
MKL_INT
*ldb
,
MKL_INT
*info
);
void
dpttrsv
(
char
*trans
,
MKL_INT
*n
,
MKL_INT
*nrhs
,
double
*d
,
double
*e
,
double
*b
,
MKL_INT
*ldb
,
MKL_INT
*info
);
void
cpttrsv
(
char
*uplo
,
char
*trans
,
MKL_INT
*n
,
MKL_INT
*nrhs
,
float
*d
,
MKL_Complex8
*e
,
MKL_Complex8
*b
,
MKL_INT
*ldb
,
MKL_INT
*info
);
void
zpttrsv
(
char
*uplo
,
char
*trans
,
MKL_INT
*n
,
MKL_INT
*nrhs
,
double
*d
,
MKL_Complex16
*e
,
MKL_Complex16
*b
,
MKL_INT
*ldb
,
MKL_INT
*info
);
Include Files
  • mkl_scalapack.h
Description
The
?pttrsv
function
solves one of the triangular systems:
L
T
*X
=
B
, or
L*X
=
B
for real flavors,
or
L*X
=
B
, or
L
H
*X
=
B
,
U*X
=
B
, or
U
H
*X
=
B
for complex flavors,
where
L
(or
U
for complex flavors) is the Cholesky factor of a Hermitian positive-definite tridiagonal matrix
A
such that
A
=
L*D*L
H
(computed by
spttrf/dpttrf
)
or
A
=
U
H
*D*U
or
A
=
L*D*L
H
(computed by
cpttrf/zpttrf
).
Input Parameters
uplo
Must be
'U'
or
'L'
.
Specifies whether the superdiagonal or the subdiagonal of the tridiagonal matrix
A
is stored and the form of the factorization:
If
uplo
=
'U'
,
e
is the superdiagonal of
U
, and
A
=
U
H
*D*U
or
A
=
L*D*L
H
;
if ,
e
is the subdiagonal of
L
, and
A
=
L*D*L
H
.
The two forms are equivalent, if
A
is real.
trans
Specifies the form of the system of equations:
for real flavors:
if
trans
=
'N'
:
L*X
=
B
(no transpose)
if
trans
=
'T'
:
L
T
*X
=
B
(transpose)
for complex flavors:
if
trans
=
'N'
:
U*X
=
B
or
L*X
=
B
(no transpose)
if
trans
=
'C'
:
U
H
*X
=
B
or
L
H
*X
=
B
(conjugate transpose).
n
The order of the tridiagonal matrix
A
.
n
0
.
nrhs
The number of right hand sides, that is, the number of columns of the matrix
B
.
nrhs
0
.
d
array of size
n
. The
n
diagonal elements of the diagonal matrix
D
from the factorization computed by
?pttrf
.
e
array of size
(
n
-1)
. The (
n
-1) off-diagonal elements of the unit bidiagonal factor
U
or
L
from the factorization computed by
?pttrf
. See
uplo
.
b
array of size
ldb
*
nrhs
.
On entry, the right hand side matrix
B
.
ldb
The leading dimension of the array
b
.
ldb
max(1,
n
)
.
Output Parameters
b
On exit, the solution matrix
X
.
info
= 0
: successful exit
< 0
: if
info
= -
i
, the
i-
th argument had an illegal value.

Product and Performance Information

1

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