Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

p?potf2

Computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (local unblocked algorithm).

Syntax

call pspotf2
(
uplo
,
n
,
a
,
ia
,
ja
,
desca
,
info
)
call pdpotf2
(
uplo
,
n
,
a
,
ia
,
ja
,
desca
,
info
)
call pcpotf2
(
uplo
,
n
,
a
,
ia
,
ja
,
desca
,
info
)
call pzpotf2
(
uplo
,
n
,
a
,
ia
,
ja
,
desca
,
info
)
Description
The
p?potf2
routine
computes the Cholesky factorization of a real symmetric or complex Hermitian positive definite distributed matrix sub
(
A
)=
A
(
ia
:
ia
+
n
-1,
ja
:
ja
+
n
-1)
.
The factorization has the form
sub(
A
) =
U'
*
U
, if
uplo
=
'U'
, or sub(
A
) =
L
*
L'
, if
uplo
=
'L'
,
where
U
is an upper triangular matrix,
L
is lower triangular.
X'
denotes transpose (conjugate transpose) of
X
.
Input Parameters
uplo
(global)
CHARACTER
.
Specifies whether the upper or lower triangular part of the symmetric/Hermitian matrix
A
is stored.
=
'U'
: upper triangle of sub (
A
) is stored;
=
'L'
: lower triangle of sub (
A
) is stored.
n
(global)
INTEGER
.
The number of rows and columns to be operated on, that is, the order of the distributed matrix sub (
A
).
n
0
.
a
(local)
REAL
for
pspotf2
DOUBLE PRECISION
for
pdpotf2
COMPLEX
for
pcpotf2
COMPLEX*16
for
pzpotf2
.
Pointer into the local memory to an array of size
(
lld_a
,
LOCc
(
ja
+
n
-1))
containing the local pieces of the
n
-by-
n
symmetric distributed matrix sub(
A
) to be factored.
If
uplo
=
'U'
, the leading
n
-by-
n
upper triangular part of sub(
A
) contains the upper triangular matrix and the strictly lower triangular part of this matrix is not referenced.
If
uplo
=
'L'
, the leading
n
-by-
n
lower triangular part of sub(
A
) contains the lower triangular matrix and the strictly upper triangular part of sub(
A
) is not referenced.
ia
,
ja
(global)
INTEGER
.
The row and column indices in the global matrix
A
indicating the first row and the first column of the sub(
A
), respectively.
desca
(global and local)
INTEGER
array of size
dlen_
. The array descriptor for the distributed matrix
A
.
Output Parameters
a
(local)
On exit,
if
uplo
=
'U'
, the upper triangular part of the distributed matrix contains the Cholesky factor
U
;
if
uplo
=
'L'
, the lower triangular part of the distributed matrix contains the Cholesky factor
L
.
info
(local)
INTEGER
.
= 0
: successful exit
< 0
: if the
i
-th argument is an array and the
j
-th 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
, the leading minor of order
k
is not positive definite, and the factorization could not be completed.