?jacobix

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

Syntax

Fortran:

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

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

C:

res = sjacobix(fcn, &n, &m, fjac, x, &jac_eps, user_data);

res = djacobix(fcn, &n, &m, fjac, x, &jac_eps, user_data);

Include Files

The Fortran interfaces are specified in the mkl_rci.fi include file and the C interfaces are specified in the mkl_rci.h include file.

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 FORTRAN and C in the examples\solver\source folder of your Intel MKL directory (ex_nlsqp_f_x.f, ex_nlsqp_bc_f_x.f and ex_nlsqp_c_x.c, ex_nlsqp_bc_c_x.c, respectively).

Input Parameters

fcn

User-supplied subroutine to evaluate the function that defines the least squares problem. Call 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*8, for Fortran

void*, for C

(Fortran) Your additional data, if any. Otherwise, a dummy argument.

(C) Pointer to your additional data, if any. 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

(Fortran) INTEGER*8. Contains your additional data. If there is no additional data, this is a dummy argument.

(C) void*. Pointer to your additional data. If there is no additional data, this is a dummy argument.

Output Parameters

fjac

REAL for sjacobix

DOUBLE PRECISION for djacobix

Array of size (m,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 mkl_rci.fi (Fortran) and mkl_rci.h (C) include files.

See Also


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.