Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

p?potrf

Computes the Cholesky factorization of a symmetric (Hermitian) positive-definite distributed matrix.

Syntax

void
pspotrf
(
char
*uplo
,
MKL_INT
*n
,
float
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*info
);
void
pdpotrf
(
char
*uplo
,
MKL_INT
*n
,
double
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*info
);
void
pcpotrf
(
char
*uplo
,
MKL_INT
*n
,
MKL_Complex8
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*info
);
void
pzpotrf
(
char
*uplo
,
MKL_INT
*n
,
MKL_Complex16
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_INT
*info
);
Include Files
  • mkl_scalapack.h
Description
The
p?potrf
function
computes the Cholesky factorization of a real symmetric or complex Hermitian positive-definite distributed
n
-by-
n
matrix
A
(
ia
:
ia
+
n
-1,
ja
:
ja
+
n
-1), denoted below as sub(
A
).
The factorization has the form
sub(
A
) =
U
H
*U
if
uplo
=
'U'
, or
sub(
A
) =
L*L
H
if
uplo
=
'L'
where
L
is a lower triangular matrix and
U
is upper triangular.
Input Parameters
uplo
(global)
Indicates whether the upper or lower triangular part of sub(
A
) is stored. Must be
'U'
or
'L'
.
If
uplo
=
'U'
, the array
a
stores the upper triangular part of the matrix sub(
A
) that is factored as
U
H
*U
.
If
uplo
=
'L'
, the array
a
stores the lower triangular part of the matrix sub(
A
) that is factored as
L*L
H
.
n
(global) The order of the distributed matrix sub(
A
)
(
n
0)
.
a
(local)
Pointer into the local memory to an array of size
lld_a
*
LOCc
(
ja
+
n
-1)
.
On entry, this array contains the local pieces of the
n
-by-
n
symmetric/Hermitian distributed matrix sub(
A
) to be factored.
Depending on
uplo
, the array
a
contains either the upper or the lower triangular part of the matrix sub(
A
) (see
uplo
).
ia
,
ja
(global) The row and column indices in the global matrix
A
indicating the first row and the first column of the matrix sub(
A
), respectively.
desca
(global and local) array of size
dlen_
. The array descriptor for the distributed matrix
A
.
Output Parameters
a
The upper or lower triangular part of
a
is overwritten by the Cholesky factor
U
or
L
, as specified by
uplo
.
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
.
If
info
=
k
>0, the leading minor of order
k
,
A
(
ia
:
ia
+
k
-1,
ja
:
ja
+
k
-1), is not positive-definite, and the factorization could not be 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