Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/31/2025
Public
Document Table of Contents

pardiso_export

Places pointers dedicated for sparse representation of a requested matrix (values, rows, and columns) into MKL PARDISO

Syntax

call pardiso_export(pt, values, rows, columns, step, iparm, error)

Include Files

  • mkl.fi
  • mkl_pardiso.f90

Description

This auxiliary routine places pointers dedicated for sparse representation of a requested matrix (values, rows, and columns) into MKL PARDISO. The matrix will be stored in the three-array variant of the compressed sparse row (CSR3 format) with 0-based indexing.

NOTE:

Currently, this routine can be used only for a sparse Schur complement matrix. All parameters related to the Schur complement matrix (perm, iparm) must be set before the reordering stage of MKL PARDISO (phase = 11) is called.

Input Parameters

pt(64)

INTEGER*8

Array with a size of 64. Handle to internal data structure for the Intel® MKL PARDISO solver. The entries must be set to zero prior to the first call to pardiso. Unique for factorization.

iparm(64)

INTEGER

This array is used to pass various parameters to Intel® MKL PARDISO and to return some useful information after execution of the solver.

step

INTEGER

Stage indicator. These are the currently supported values:

Step value Notes
1

Used to place pointers related to a Schur complement matrix in MKL PARDISO. The routine with step equal to 1 must be called between the reordering and factorization phases of MKL PARDISO.

−1

Used to clean the internal handle.

Input/Output Parameters

values(*)

Parameter type: input/output parameter.

PARDISO_DATA_TYPE (see PARDISO_DATA_TYPE)

This array contains the non-zero elements of the requested matrix.

rows

Parameter type: input/output parameter.

INTEGER

For CSR3 format, rows[i] ( i < size ) points to the first column index of row i in the array columns; that is, rows[i] gives the index of the element in the array values that contains the first non-zero element from row i of the sparse matrix. The last element, rows[size], is equal to the number of non-zero elements in the sparse matrix.

columns

Parameter type: input/output parameter.

INTEGER

This array contains the column indices for the non-zero elements of the requested matrix.

error

Parameter type: output parameter.

INTEGER

The error status:

  • 0 indicates no error.
  • 1 indicates inconsistent input data.

Usage Example

The following C-style example demonstrates how to use the pardiso_export routine to get the sparse representation (that is, three-array CSR format) of a Schur complement matrix.