Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
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

void dfgmres_get (const MKL_INT *n, double *x, double *b, MKL_INT *RCI_request, const MKL_INT *ipar, const double *dpar, double *tmp, MKL_INT *itercount );

Include Files

  • mkl.h

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[12]= -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/solverc/source

Input Parameters

n

Sets the size of the problem.

ipar

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

dpar

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

tmp

Array of size ((2*ipar[14]+1)*n+ipar[14]*ipar[14]+9)/2 + 1). Refer to the FGMRES Common Parameters.

Output Parameters

x

Array of size n. If ipar[12]= 0, it contains the updated approximation to the solution according to the computations done in dfgmres routine. Otherwise, it is not changed.

b

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

Gives information about result of the routine.

itercount

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.