Initializing help system before first use

MultiMapDeltaFunction

An R^n -> R^m function that also provides partial derivatives. More...

#include <xpress.hpp>

Inheritance diagram for xpress::XPRSProblem::MultiMapDeltaFunction:
xpress::XPRSProblem::AbstractUserFunction

Public Member Functions

  MultiMapDeltaFunction (XPRSProblem *prob, std::string name, MultiMapDeltaFunctor functor, int nIn, int nOut)
 
virtual auto  call (int output, std::vector< xpress::objects::Expression > arguments) -> xpress::objects::Expression override
  Create an expression that represents a symbolic call to this function.
Parameters
output If this is a multi-output function then this specifies which output to select. Note that the first output has index 1!
arguments Arguments for the function call.
Returns
The expression representing a call to this function.
Since
44.00

 
auto  call (xpress::SizedArray< double const > const &values, xpress::SizedArray< double const > const &deltas, xpress::SizedArray< double > const &partials) -> std::vector< double >
  Call the underlying functor.
 
virtual auto  evaluate (int output, xpress::SizedArray< double const > const &args) -> double override
  Evaluate this function for the given values.
Parameters
output Output selector. In case the function returns multiple outputs then this selects which of them to return. Otherwise this argument is ignored. Note that the first output has index 1!
args Arguments for the function call.
Returns
The result.
Since
44.00

 
virtual auto  isMultiOutput () -> bool override
  Check whether this is a function that produces more than one value for a single call.
Returns
true if the function has more than one output, false otherwise.
Since
44.00

 
 Public Member Functions inherited from xpress::XPRSProblem::AbstractUserFunction
auto  call (std::vector< xpress::objects::Expression > arguments) -> xpress::objects::Expression
  Create an expression that represents a symbolic call to this function.
 
auto  evaluate (xpress::SizedArray< double const > const &args) -> double
  Shorthand for evaluate(1, args).
 
auto  getId () -> int
  Get the id for this function.
 
auto  getName () const -> std::string
  Get the name with which the function was registered.
 
auto  triggerEvalError (std::exception_ptr e) -> void
  Trigger a user function evaluation error with a specific exception.
 

Public Attributes

MultiMapDeltaFunctor const  functor
  The actual function represented by this instance.
 
int const  nIn
  Number of input arguments.
 
int const  nOut
  Number of output arguments.
 

Detailed Description

An R^n -> R^m function that also provides partial derivatives.

Since
44.00

Constructor & Destructor Documentation

MultiMapDeltaFunction()

xpress::XPRSProblem::MultiMapDeltaFunction::MultiMapDeltaFunction ( XPRSProblem * prob,
std::string name,
MultiMapDeltaFunctor functor,
int nIn,
int nOut )
inline
Since
44.00

Member Function Documentation

call() [1/2]

virtual auto xpress::XPRSProblem::MultiMapDeltaFunction::call ( int output,
std::vector< xpress::objects::Expression > arguments ) -> xpress::objects::Expression
inlineoverridevirtual

Create an expression that represents a symbolic call to this function.

Parameters
output If this is a multi-output function then this specifies which output to select. Note that the first output has index 1!
arguments Arguments for the function call.
Returns
The expression representing a call to this function.
Since
44.00

Since
44.00

Implements xpress::XPRSProblem::AbstractUserFunction.

call() [2/2]

auto xpress::XPRSProblem::MultiMapDeltaFunction::call ( xpress::SizedArray< double const > const & values,
xpress::SizedArray< double const > const & deltas,
xpress::SizedArray< double > const & partials ) -> std::vector< double >
inline

Call the underlying functor.

Parameters
values Input values.
deltas Delta estimates, non-zero if partial derivative required
partials Partial derivatives are returned here, first the nIn partials for the first argument, then the nIn partials for the next argument, etc., until the nOut-th argument.
Returns
The computed values (one for each input value).
Since
44.00

evaluate()

virtual auto xpress::XPRSProblem::MultiMapDeltaFunction::evaluate ( int output,
xpress::SizedArray< double const > const & args ) -> double
inlineoverridevirtual

Evaluate this function for the given values.

Parameters
output Output selector. In case the function returns multiple outputs then this selects which of them to return. Otherwise this argument is ignored. Note that the first output has index 1!
args Arguments for the function call.
Returns
The result.
Since
44.00

Since
44.00

Implements xpress::XPRSProblem::AbstractUserFunction.

isMultiOutput()

virtual auto xpress::XPRSProblem::MultiMapDeltaFunction::isMultiOutput ( ) -> bool
inlineoverridevirtual

Check whether this is a function that produces more than one value for a single call.

Returns
true if the function has more than one output, false otherwise.
Since
44.00

Since
44.00

Implements xpress::XPRSProblem::AbstractUserFunction.

Member Data Documentation

functor

MultiMapDeltaFunctor const xpress::XPRSProblem::MultiMapDeltaFunction::functor

The actual function represented by this instance.

Since
44.00

nIn

int const xpress::XPRSProblem::MultiMapDeltaFunction::nIn

Number of input arguments.

Since
44.00

nOut

int const xpress::XPRSProblem::MultiMapDeltaFunction::nOut

Number of output arguments.

Since
44.00

The documentation for this class was generated from the following file:
  • xpress.hpp

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.