Developer Guide and Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

Computation

Input

The objective function accepts the input described below. Pass the
Input ID
as a parameter to the methods that provide input for your algorithm. For more details, see Algorithms.
Input ID
Input
argument
A numeric table of size LaTex Math image. with the input argument of the objective function.

Parameters

The objective function has the following parameters:
Parameter
Default value
Description
resultsToCompute
gradient
The 64-bit integer flag that specifies which characteristics of the objective function to compute.
Provide one of the following values to request a single characteristic or use bitwise OR to request a combination of the characteristics:
value
Value of the objective function
nonSmoothTermValue
Value of non-smooth term of the objective function
gradient
Gradient of the smooth term of the objective function
hessian
Hessian of smooth term of the objective function
proximalProjection
Projection of proximal operator for non-smooth term of the objective function
lipschitzConstant
Lipschitz constant of the smooth term of the objective function
gradientOverCertainFeature
Certain component of gradient vector
hessianOverCertainFeature
Certain component of hessian diagonal
proximalProjectionOfCertainFeature
Certain component of proximal projection
On GPU,
resultsToCompute
only computes
value
,
gradient
, and
hessian
.

Output

The objective function calculates the result described below. Pass the
Result ID
as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms.
Result ID
Result
valueIdx
A numeric table of size LaTex Math image. with the value of the objective function in the given argument.
nonSmoothTermValueIdx
A numeric table of size LaTex Math image. with the value of the non-smooth term of the objective function in the given argument.
gradientIdx
A numeric table of size LaTex Math image. with the gradient of the smooth term of the objective function in the given argument.
hessianIdx
A numeric table of size LaTex Math image. with the Hessian of the smooth term of the objective function in the given argument.
proximalProjectionIdx
A numeric table of size LaTex Math image. with the projection of proximal operator for non-smooth term of the objective function in the given argument.
lipschitzConstantIdx
A numeric table of size LaTex Math image. with Lipschitz constant of the smooth term of the objective function.
gradientOverCertainFeatureIdx
A numeric table of size LaTex Math image. with certain component of gradient vector.
hessianOverCertainFeatureIdx
A numeric table of size LaTex Math image. with certain component of hessian diagonal.
proximalProjectionOverCertainFeatureIdx
A numeric table of size LaTex Math image. with certain component of proximal projection.
  • If the function result is not requested through the resultsToCompute parameter, the respective element of the result contains a NULL pointer.
  • By default, each numeric table specified by the collection elements is an object of the HomogenNumericTable class, but you can define the result as an object of any class derived from NumericTable, except for PackedSymmetricMatrix, PackedTriangularMatrix, and CSRNumericTable.
  • Hessian matrix is computed for the objective function LaTex Math image. . For the objective functions LaTex Math image. with :math`p < 2` the library will stop computations and report the status on non-availability of the computation of the Hessian.
  • If Lipschitz constant constantOfLipschitz is not estimated explicitly, pointer to result numeric table is required to be set to nullptr.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.