Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
Document Table of Contents

pardiso_getdiag

Returns diagonal elements of initial and factorized matrix.

Syntax

call pardiso_getdiag (pt, df, da, mnum, error)

Include Files

  • mkl.fi, mkl_pardiso.f90

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(56) to 1 before the main pardiso loop.

If iparm(24) 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

INTEGER for 32-bit or 64-bit architectures

INTEGER*8 for 64-bit architectures

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

INTEGER

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

DOUBLE PRECISION- for real types of matrices and for double precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=0)

REAL- for real types of matrices and for single precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=1)

DOUBLE COMPLEX- for complex types of matrices and for double precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=0)

COMPLEX- for complex types of matrices and for single precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=1)

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

DOUBLE PRECISION- for real types of matrices and for double precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=0)

REAL- for real types of matrices and for single precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=1)

DOUBLE COMPLEX- for complex types of matrices and for double precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=0)

COMPLEX- for complex types of matrices and for single precision Intel® oneAPI Math Kernel Library (oneMKL) PARDISO (iparm(28)=1)

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

error

INTEGER

The error indicator.

error
Information
0

no error

-1

Diagonal information not turned on before pardiso main loop (iparm(56)=0).