Visible to Intel only — GUID: GUID-0B76E831-DC10-4F3F-95BC-E0C0E4BD4CDC
Visible to Intel only — GUID: GUID-0B76E831-DC10-4F3F-95BC-E0C0E4BD4CDC
p?pttrf
Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite tridiagonal distributed matrix.
void pspttrf (MKL_INT *n , float *d , float *e , MKL_INT *ja , MKL_INT *desca , float *af , MKL_INT *laf , float *work , MKL_INT *lwork , MKL_INT *info );
void pdpttrf (MKL_INT *n , double *d , double *e , MKL_INT *ja , MKL_INT *desca , double *af , MKL_INT *laf , double *work , MKL_INT *lwork , MKL_INT *info );
void pcpttrf (MKL_INT *n , float *d , MKL_Complex8 *e , MKL_INT *ja , MKL_INT *desca , MKL_Complex8 *af , MKL_INT *laf , MKL_Complex8 *work , MKL_INT *lwork , MKL_INT *info );
void pzpttrf (MKL_INT *n , double *d , MKL_Complex16 *e , MKL_INT *ja , MKL_INT *desca , MKL_Complex16 *af , MKL_INT *laf , MKL_Complex16 *work , MKL_INT *lwork , MKL_INT *info );
- mkl_scalapack.h
The p?pttrffunction computes the Cholesky factorization of an n-by-n real symmetric or complex hermitian positive-definite tridiagonal distributed matrix A(1:n, ja:ja+n-1).
The resulting factorization is not the same factorization as returned from LAPACK. Additional permutations are performed on the matrix for the sake of parallelism.
The factorization has the form:
A(1:n, ja:ja+n-1) = P*L*D*LH*PT, or
A(1:n, ja:ja+n-1) = P*UH*D*U*PT,
where P is a permutation matrix, and U and L are tridiagonal upper and lower triangular matrices, respectively.
Product and Performance Information |
---|
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex. Notice revision #20201201 |
- n
-
(global) The order of the distributed submatrix A(1:n, ja:ja+n-1)
(n≥ 0).
- d, e
-
(local)
Pointers into the local memory to arrays of size nb_a each.
On entry, the array d contains the local part of the global vector storing the main diagonal of the distributed matrix A.
On entry, the array e contains the local part of the global vector storing the upper diagonal of the distributed matrix A.
- 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.
If dtype_a = 501, then dlen_≥ 7;
else if dtype_a = 1, then dlen_≥ 9.
- laf
-
(local) The size of the array af.
Must be laf≥nb_a+2.
If laf is not large enough, an error code will be returned and the minimum acceptable size will be returned in af[0].
- work
-
(local) Workspace array of size lwork .
- lwork
-
(local or global) The size of the work array, must be at least
lwork≥ 8*NPCOL.
- d, e
-
On exit, overwritten by the details of the factorization.
- af
-
(local)
Array of size laf.
Auxiliary fill-in space. The fill-in space is created in a call to the factorization function p?pttrf and stored in af.
Note that if a linear system is to be solved using p?pttrs after the factorization function,af must not be altered.
- work[0]
-
On exit, work[0] contains the minimum value of lwork required for optimum performance.
- info
-
(global)
If info=0, the execution is successful.
info < 0:
If the i-th argument is an array and the j-th entry, indexed j - 1, 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.
info> 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 nonsingular, and the factorization was not completed.