Developer Reference

  • 0.10
  • 10/21/2020
  • Public Content
Contents

p?dtsv

Solves a general tridiagonal system of linear equations.

Syntax

void
psdtsv
(
MKL_INT
*n
,
MKL_INT
*nrhs
,
float
*dl
,
float
*d
,
float
*du
,
MKL_INT
*ja
,
MKL_INT
*desca
,
float
*b
,
MKL_INT
*ib
,
MKL_INT
*descb
,
float
*work
,
MKL_INT
*lwork
,
MKL_INT
*info
);
void
pddtsv
(
MKL_INT
*n
,
MKL_INT
*nrhs
,
double
*dl
,
double
*d
,
double
*du
,
MKL_INT
*ja
,
MKL_INT
*desca
,
double
*b
,
MKL_INT
*ib
,
MKL_INT
*descb
,
double
*work
,
MKL_INT
*lwork
,
MKL_INT
*info
);
void
pcdtsv
(
MKL_INT
*n
,
MKL_INT
*nrhs
,
MKL_Complex8
*dl
,
MKL_Complex8
*d
,
MKL_Complex8
*du
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_Complex8
*b
,
MKL_INT
*ib
,
MKL_INT
*descb
,
MKL_Complex8
*work
,
MKL_INT
*lwork
,
MKL_INT
*info
);
void
pzdtsv
(
MKL_INT
*n
,
MKL_INT
*nrhs
,
MKL_Complex16
*dl
,
MKL_Complex16
*d
,
MKL_Complex16
*du
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_Complex16
*b
,
MKL_INT
*ib
,
MKL_INT
*descb
,
MKL_Complex16
*work
,
MKL_INT
*lwork
,
MKL_INT
*info
);
Include Files
  • mkl_scalapack.h
Description
The
function
solves a system of linear equations
A
(1:
n
,
ja
:
ja
+
n
-1) *
X
=
B
(
ib
:
ib
+
n
-1, 1:
nrhs
)
,
where
A
(1:
n
,
ja
:
ja
+
n
-1)
is an
n
-by-
n
complex tridiagonal diagonally dominant-like distributed matrix.
Gaussian elimination without pivoting is used to factor a reordering of the matrix into
L U
.
Optimization Notice
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.
Input Parameters
n
(global) The order of the distributed submatrix
A
(
n
0)
.
nrhs
The number of right hand sides; the number of columns of the distributed matrix
B
(
nrhs
0)
.
dl
(local).
Pointer to local part of global vector storing the lower diagonal of the matrix. Globally,
dl
[0]
is not referenced, and
dl
must be aligned with
d
. Must be of size >
desca
[
nb
_ - 1]
.
d
(local).
Pointer to local part of global vector storing the main diagonal of the matrix.
du
(local).
Pointer to local part of global vector storing the upper diagonal of the matrix. Globally,
du
[
n
- 1]
is not referenced, and
du
must be aligned with
d
.
ja
(global) The index in the global matrix
A
indicating the start of the matrix to be operated on (which may be either all of
A
or a submatrix of
A
).
desca
(global and local) array of size
dlen
.
If
1
d
type (
dtype_a
=501 or 502)
,
dlen
≥ 7
;
If
2
d
type (
dtype_a
=1)
,
dlen
≥ 9
.
The array descriptor for the distributed matrix
A
.
Contains information of mapping of
A
to memory.
b
(local)
Pointer into the local memory to an array of local lead size
lld_b
>
nb
. On entry, this array contains the local pieces of the right hand sides
B
(
ib
:
ib
+
n
-1, 1:
nrhs
)
.
ib
(global) The row index in the global matrix
B
indicating the first row of the matrix to be operated on (which may be either all of
b
or a submatrix of
B
).
descb
(global and local) array of size
dlen
.
If
1
d
type (
dtype_b
=502)
,
dlen
≥ 7
;
If
2
d
type (
dtype_b
=1)
,
dlen
≥ 9
.
The array descriptor for the distributed matrix
B
.
Contains information of mapping of
B
to memory.
work
(local).
lwork
(local or global) Size of user-input workspace
work
. If
lwork
is too small, the minimal acceptable size will be returned in
work
[0]
and an error code is returned.
lwork
> (12*
NPCOL
+3*
nb
)+
max
((10+2*min(100,
nrhs
))*
NPCOL
+4*
nrhs
, 8*
NPCOL
)
Output Parameters
dl
On exit, this array contains information containing the * factors of the matrix.
d
On exit, this array contains information containing the * factors of the matrix. Must be of size
>
desca
[
nb
_ - 1]
.
du
On exit, this array contains information containing the * factors of the matrix. Must be of size
>
desca
[
nb
_ - 1]
.
b
On exit, this contains the local piece of the solutions distributed matrix
X
.
work
On exit,
work
[0]
contains the minimal
lwork
.
info
(local) If
info
=0
, the execution is successful.
< 0
: If the
i
-th argument is an array and the
j
-entry had an illegal value, then
info
= -(
i
*100+
j
)
, if the
i
-th argument is a scalar and had an illegal value, then
info
= -
i
.
> 0
: If
info
=
k
<
NPROCS
, the submatrix stored on processor
info
and factored locally was not positive definite, and the factorization was not completed.
If
info
=
k
>
NPROCS
, the submatrix stored on processor
info
-
NPROCS
representing interactions with other processors was not positive definite, and the factorization was not completed.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804