Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

pardiso_getdiag

Returns diagonal elements of initial and factorized matrix.

Syntax

void pardiso_getdiag (const _MKL_DSS_HANDLE_t pt, void *df, void *da, const MKL_INT *mnum, MKL_INT *error);

Include Files

  • mkl.h

Description

This routine returns the diagonal elements of the initial and factorized matrix for a real or Hermitian matrix.

NOTE:

In order to use this routine, you must set iparm[55] to 1 before the main pardiso loop.

If iparm[23] is set to 10 (an improved two-level factorization algorithm for nonsymmetric matrices), Intel® oneAPI Math Kernel Library PARDISO will automatically use the classic algorithm for factorization.

Input Parameters

pt

Array with a size of 64. Handle to internal data structure for the Intel® oneAPI Math Kernel Library (oneMKL) PARDISO solver. The entries must be set to zero prior to the first call topardiso. Unique for factorization.

mnum

Indicates the actual matrix for the solution phase of the Intel® oneAPI Math Kernel Library (oneMKL) PARDISO solver. With this scalar you can define the diagonal elements of the factorized matrix that you want to obtain. The value must be: 1 ≤mnummaxfct. In most applications this value is 1.

Output Parameters

df

Array with a dimension of n. Contains diagonal elements of the factorized matrix after factorization.

NOTE:

Elements of df correspond to diagonal elements of matrix Lcomputed during phase 22. Because during phase 22 Intel® oneAPI Math Kernel Library (oneMKL) PARDISO makes additional permutations to improve stability, it is possible that arraydf is not in line with the perm array computed during phase 11.

da

Array with a dimension of n. Contains diagonal elements of the initial matrix.

error

The error indicator.

error
Information
0

no error

-1

Diagonal information not turned on before pardiso main loop (iparm[55]=0).