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

?jacobix

Alternative interface for?jacobi function for passing additional data into the objective function.

Syntax

res = sjacobix(fcn, n, m, fjac, x, eps, user_data)

res = djacobix(fcn, n, m, fjac, x, eps, user_data)

Include Files

  • Fortran: mkl_rci.fi, mkl_rci.f90

Description

The ?jacobix routine presents an alternative interface for the ?jacobi function that enables you to pass additional data into the objective function fcn.

See calling and usage examples in the examples\solverf\source folderof your Intel® oneAPI Math Kernel Library (oneMKL) directory. Specifically, see ex_nlsqp_f90_x.f90 and ex_nlsqp_bc_f90_x.f90.

Input Parameters

fcn

User-supplied subroutine to evaluate the function that defines the least squares problem. Called as fcn (m, n, x, f, user_data) with the following parameters:

Parameter

Type

Description

Input Parameters

m

INTEGER

Length of f.

n

INTEGER

Length of x.

x

REAL for sjacobix

DOUBLE PRECISION for djacobix

Array of size n. Vector, at which the function is evaluated. The fcn function should not change this parameter.

user_data

INTEGER(C_INTPTR_T), for Fortran

Reference to your additional data, if any, passed by value: user_data=%VAL(LOC(data)). Otherwise, a dummy argument.

Output Parameters

f

REAL for sjacobix

DOUBLE PRECISION for djacobix

Array of size m; contains the function values at x.

You need to declare fcn as EXTERNAL in the calling program.

n

INTEGER. Length of X.

m

INTEGER. Length of F.

x

REAL for sjacobix

DOUBLE PRECISION for djacobix

Array of size n. Vector at which the function is evaluated.

eps

REAL for sjacobix

DOUBLE PRECISION for djacobix

Precision of the Jacobian matrix calculation.

user_data

INTEGER(C_INTPTR_T). Reference to your additional data, passed by value: user_data=%VAL(LOC(data)). Otherwise, a dummy argument.

Output Parameters

fjac

REAL for sjacobix

DOUBLE PRECISION for djacobix

Array of size m by n). Contains the Jacobian matrix of the function.

res

INTEGER. Indicates task completion status.

  • res = TR_SUCCESS - the routine completed the task normally.

  • res = TR_INVALID_OPTION - there was an error in the input parameters.

  • res = TR_OUT_OF_MEMORY - there was a memory error.

TR_SUCCESS, TR_INVALID_OPTION, and TR_OUT_OF_MEMORY are defined in the mkl_rci.fi include file.

See Also