Developer Reference

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

cluster_sparse_solver_set_ptr

Internally saves a provided pointer to the data corresponding to the specified name.

Syntax

call cluster_sparse_solver_set_ptr
(
pt
,
name
,
ptr
,
comm
,
error
)
Include Files
  • mkl_cluster_sparse_solver.f90
Description
This routine internally saves the input pointer,
ptr
, of the data which correspond to the provided
name
. The saved pointer can then be used for exporting corresponding data by means of
cluster_sparse_solver_export
.
Only call this routine after the factorization phase (
phase
=22
) of the
cluster_sparse_solver
has been called. Neither
pt
, nor
iparm
should be changed after the preceding call to
cluster_sparse_solver
.
Input Parameters
pt
INTEGER*8
for 64-bit architectures
Array with size of 64.
Handle to internal data structure used in the prior calls to
cluster_sparse_solver
.
Do not modify
pt
after the calls to
cluster_sparse_solver
.
name
INTEGER
Specifies the data for which the pointer is computed.
SPARSE_PTLUQT_P
Permutation
P
from
P
*
A
*
Q
=
L
*
U
.
SPARSE_PTLUQT_Q
Permutation
Q
from
P
*
A
*
Q
=
L
*
U
.
SPARSE_DPTLUQT_P
Permutation
P
from
P
* (
D
-1
A
)*
Q
=
L
*
U
.
SPARSE_DPTLUQT_Q
Permutation
Q
from
P
* (
D
-1
A
)*
Q
=
L
*
U
.
SPARSE_DPTLUQT_D
Scaling (diagonal)
D
from
P
* (
D
-1
A
)*
Q
=
L
*
U
.
vals
Array containing elements of the vector representation for the data which corresponds to the
name
. Its length should be at least
local_nrows
, where
local_nrows
is the local number of rows in a corresponding matrix (obtained from
cluster_sparse_solver_get_csr_size
, for example).
For permutations
P
and
Q
, it is interpreted as
INTEGER
.
For scaling
D
, it is interpreted as one of the following depending on
mtype
(type of the matrix
A
) and
iparm(28)
(precision) specified in the preceding call to
cluster_sparse_solver
.
DOUBLE PRECISION
For real types of matrices (
mtype
=1, 2, -2, and 11) and for double precision (
iparm(28)
= 0).
REAL
For real types of matrices (
mtype
=1, 2, -2, and 11) and for single precision (
iparm(28)
= 1).
DOUBLE COMPLEX
For complex types of matrices (
mtype
=3, 6, 13, 14, and -4) and for double precision (
iparm(28)
= 0).
COMPLEX
For complex types of matrices (
mtype
=3, 6, 13, 14, and -4) and for single precision (
iparm(28)
= 1).
comm
INTEGER*4
MPI communicator. The solver uses the Fortran MPI communicator internally.
Output Parameters
error
INTEGER
The error indicator:
error
Information
0
no error
-1
pt
is a null pointer
-2
invalid
pt
-3
invalid
name
-4
unsupported
name
-9
unsupported internal code path, consider switching off non-default
iparm
parameters for
cluster_sparse_solver
-12
internal memory error
Refer to
cl_solver_export_f90.f90
for an example using this functionality.