Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

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

Document Table of Contents

dfgmres_get

Retrieves the number of the current iteration and updates the solution.

Syntax

dfgmres_get(n, x, b, RCI_request, ipar, dpar, tmp, itercount)

Include Files

  • Fortran: mkl_rci.fi, mkl_rci.f90

Description

The routine dfgmres_get retrieves the current iteration number of the solution process and updates the solution according to the computations performed by the dfgmres routine. To retrieve the current iteration number only, set the parameter ipar(13)= -1 beforehand. Normally, you should do this before proceeding further with the computations. If the intermediate solution is needed, the method parameters must be set properly. For details see FGMRES Common Parametersand the Iterative Sparse Solver code examples in the Intel® oneAPI Math Kernel Library (oneMKL) installation directory:

  • examples/solverf/source

Input Parameters

n

INTEGER. Sets the size of the problem.

ipar

INTEGER. Array of size 128. Refer to the FGMRES Common Parameters.

dpar

DOUBLE PRECISION. Array of size 128. Refer to the FGMRES Common Parameters.

tmp

DOUBLE PRECISION. Array of size ((2*ipar(15)+1)*n+ipar(15)*ipar(15)+9)/2 + 1). Refer to the FGMRES Common Parameters.

Output Parameters

x

DOUBLE PRECISION. Array of size n. If ipar(13)= 0, it contains the updated approximation to the solution according to the computations done in dfgmres routine. Otherwise, it is not changed.

b

DOUBLE PRECISION. Array of size n. If ipar(13)> 0, it contains the updated approximation to the solution according to the computations done in dfgmres routine. Otherwise, it is not changed.

RCI_request

INTEGER. Gives information about result of the routine.

itercount

INTEGER. Contains the value of the current iteration number.

Return Values

RCI_request= 0

Indicates that the task completed normally.

RCI_request= -12

Indicates that the routine was interrupted because errors were found in the routine parameters. Usually this happens if the parameters ipar and dpar were altered by mistake outside of the routine.

RCI_request= -10000

Indicates that the routine failed to complete the task.