Contents

# p?potrs

Solves a system of linear equations with a Cholesky-factored symmetric/Hermitian distributed positive-definite matrix.

## Syntax

Include Files
• mkl_scalapack.h
Description
The
p?potrs
function
solves for
X
a system of distributed linear equations in the form:
sub(
A
)*
X
= sub(
B
) ,
where sub(
A
) =
A
(
ia
:
ia
+
n
-1,
ja
:
ja
+
n
-1) is an
n
-by-
n
real symmetric or complex Hermitian positive definite distributed matrix, and sub(
B
) denotes the distributed matrix
B
(
ib
:
ib
+
n
-1,
jb
:
jb
+
nrhs
-1).
This
function
uses Cholesky factorization
sub(
A
) =
U
H
*U
, or sub(
A
) =
L*L
H
computed by
p?potrf
.
Input Parameters
uplo
(global) Must be
'U'
or
'L'
.
If
uplo
=
'U'
, upper triangle of sub(
A
) is stored;
If
uplo
=
'L'
, lower triangle of sub(
A
) is stored.
n
(global) The order of the distributed matrix sub(
A
)
(
n
0)
.
nrhs
(global) The number of right hand sides; the number of columns of the distributed matrix sub(
B
)
(
nrhs
0)
.
a
,
b
(local)
Pointers into the local memory to arrays of local sizes
lld_a
*
LOCc
(
ja
+
n
-1)
and
lld_b
*
LOCc
(
jb
+
nrhs
-1
)
, respectively.
The array
a
contains the factors
L
or
U
from the Cholesky factorization sub(
A
) =
L
*
L
H
or sub(
A
) =
U
H
*U
, as computed by
p?potrf
.
On entry, the array
b
contains the local pieces of the right hand sides sub(
B
).
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
.
ib
,
jb
(global) The row and column indices in the global matrix
B
indicating the first row and the first column of the matrix sub(
B
), respectively.
descb
(local) array of size
dlen_
. The array descriptor for the distributed matrix
B
.
Output Parameters
b
Overwritten by the local pieces of the solution matrix
X
.
info
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,
info
= -(
i
*100+
j
); if the
i-
th argument is a scalar and had an illegal value, then
info
=
-i
.

#### Product and Performance Information

1

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