p?pbsv
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 equationsA
(1:n
, ja
:ja
+n
-1)*X
= B
(ib
:ib
+n
-1, 1:nrhs
)where is an
A
(1:n
, ja
:ja
+n
-1)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 ofAis stored.If, the upper triangularuplo='U'Ais storedIf, the lower triangular ofuplo='L'Ais stored.
- n
- (global) The order of the distributed matrixA(.n≥0)
- bw
- (global) The number of subdiagonals inLorU.0 ≤.bw≤n-1
- nrhs
- (global) The number of right-hand sides; the number of columns inB(.nrhs≥0)
- a
- (local).Pointer into the local memory to an array with leading size(stored inlld_a≥ (bw+1)desca). On entry, this array contains the local pieces of the distributed matrixsub(to be factored.A)
- ja
- (global) The index in the global matrixAindicating the start of the matrix to be operated on (which may be either all ofAor a submatrix ofA).
- desca
- (global and local) array of sizedlen_. The array descriptor for the distributed matrixA.
- b
- (local)Pointer into the local memory to an array of local lead sizelld_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 matrixBindicating the first row of the matrix to be operated on (which may be either all ofbor a submatrix ofB).
- descb
- (global and local) array of sizedlen.If1D type (,dtype_b=502);dlen≥ 7If2D type (,dtype_b=1).dlen≥ 9The array descriptor for the distributed matrixB.Contains information of mapping ofBto memory.
- work
- (local).Temporary workspace. This space may be overwritten in between calls tofunctions.workmust be the size given inlwork.
- lwork
- (local or global) Size of user-input workspacework. Iflworkis too small, the minimal acceptable size will be returned inwork[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 matrixX.
- work
- On exit,work[0]contains the minimallwork.
- info
- (global) Ifinfo=0, the execution is successful.< 0: If thei-th argument is an array and thej-entry had an illegal value, then, if theinfo= -(i*100+j)i-th argument is a scalar and had an illegal value, then.info= -i> 0: If, the submatrix stored on processorinfo=k≤NPROCSinfoand factored locally was not positive definite, and the factorization was not completed.If, the submatrix stored on processorinfo=k>NPROCSrepresenting interactions with other processors was not positive definite, and the factorization was not completed.info-NPROCS