Developer Reference

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

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.