Developer Reference for Intel® oneAPI Math Kernel Library for C

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

?jacobi

Computes the Jacobian matrix of the objective function using the central difference algorithm.

Syntax

MKL_INT sjacobi (USRFCNS fcn, const MKL_INT* n, const MKL_INT* m, float* fjac, float* x, float* eps);

MKL_INT djacobi (USRFCND fcn, const MKL_INT* n, const MKL_INT* m, double* fjac, double* x, double* eps);

Include Files

  • mkl.h

Description

The ?jacobi routine computes the Jacobian matrix for function fcn using the central difference algorithm. This routine has a "Black-Box" interface, where you input the objective function via parameters. Your objective function must have a fixed interface.

See calling and usage examples in the examples\solverc\source folderof your Intel® oneAPI Math Kernel Library (oneMKL) directory. Specifically, see ex_nlsqp_c.c and ex_nlsqp_bc_c.c.

Input Parameters

fcn

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

Parameter

Type

Description

Input Parameters

m

 

Pointer to the length of f.

n

 

Pointer to the length of x.

x

 

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

Output Parameters

f

 

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

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

n

Length of X.

m

Length of F.

x

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

eps

Precision of the Jacobian matrix calculation.

Output Parameters

fjac

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

res

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.h include file.

See Also