Developer Reference

Contents

p?pbsv

Solves a symmetric/Hermitian positive definite banded system of linear equations.

Syntax

void
pspbsv
(
char
*uplo
,
MKL_INT
*n
,
MKL_INT
*bw
,
MKL_INT
*nrhs
,
float
*a
,
MKL_INT
*ja
,
MKL_INT
*desca
,
float
*b
,
MKL_INT
*ib
,
MKL_INT
*descb
,
float
*work
,
MKL_INT
*lwork
,
MKL_INT
*info
);
void
pdpbsv
(
char
*uplo
,
MKL_INT
*n
,
MKL_INT
*bw
,
MKL_INT
*nrhs
,
double
*a
,
MKL_INT
*ja
,
MKL_INT
*desca
,
double
*b
,
MKL_INT
*ib
,
MKL_INT
*descb
,
double
*work
,
MKL_INT
*lwork
,
MKL_INT
*info
);
void
pcpbsv
(
char
*uplo
,
MKL_INT
*n
,
MKL_INT
*bw
,
MKL_INT
*nrhs
,
MKL_Complex8
*a
,
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
pzpbsv
(
char
*uplo
,
MKL_INT
*n
,
MKL_INT
*bw
,
MKL_INT
*nrhs
,
MKL_Complex16
*a
,
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
p?pbsv
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
real/complex banded symmetric positive definite distributed matrix with bandwidth
bw
.
Cholesky factorization is used to factor a reordering of the matrix into
L*L'
.
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
uplo
(global) Must be
'U'
or
'L'
.
Indicates whether the upper or lower triangular of
A
is stored.
If
uplo
=
'U'
, the upper triangular
A
is stored
If
uplo
=
'L'
, the lower triangular of
A
is stored.
n
(global) The order of the distributed matrix
A
(
n
0)
.
bw
(global) The number of subdiagonals in
L
or
U
.
0 ≤
bw
n
-1
.
nrhs
(global) The number of right-hand sides; the number of columns in
B
(
nrhs
0)
.
a
(local).
Pointer into the local memory to an array with leading size
lld_a
≥ (
bw
+1)
(stored in
desca
). On entry, this array contains the local pieces of the distributed matrix
sub(
A
)
to be factored.
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_
. The array descriptor for the distributed matrix
A
.
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
1D type (
dtype_b
=502)
,
dlen
≥ 7
;
If
2D type (
dtype_b
=1)
,
dlen
≥ 9
.
The array descriptor for the distributed matrix
B
.
Contains information of mapping of
B
to memory.
work
(local).
Temporary workspace. This space may be overwritten in between calls to
functions
.
work
must be the size given in
lwork
.
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
≥ (
nb
+2*
bw
)*
bw
+max((
bw
*
nrhs
),
bw
*
bw
)
Output Parameters
a
On exit, this array contains information containing details of the factorization. Note that permutations are performed on the matrix, so that the factors returned are different from those returned by LAPACK.
b
On exit, contains the local piece of the solutions distributed matrix
X
.
work
On exit,
work
[0]
contains the minimal
lwork
.
info
(global) 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