22 #ifndef __OBJECTIVE_FUNCTION_TYPES_H__
23 #define __OBJECTIVE_FUNCTION_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "data_management/data/homogen_numeric_table.h"
28 #include "services/daal_defines.h"
37 namespace optimization_solver
48 namespace objective_function
58 lastInputId = argument
65 enum ResultToComputeId
67 gradient = 0x00000001ULL,
68 value = 0x00000002ULL,
69 hessian = 0x00000004ULL,
70 nonSmoothTermValue = 0x00000008ULL,
71 proximalProjection = 0x00000010ULL,
72 lipschitzConstant = 0x00000020ULL,
73 componentOfGradient = 0x00000040ULL,
74 componentOfHessianDiagonal = 0x00000080ULL,
75 componentOfProximalProjection = 0x00000100ULL,
87 nonSmoothTermValueIdx,
88 proximalProjectionIdx,
90 componentOfGradientIdx,
91 componentOfHessianDiagonalIdx,
92 componentOfProximalProjectionIdx,
93 lastResultId = componentOfProximalProjectionIdx
108 struct DAAL_EXPORT Parameter :
public daal::algorithms::Parameter
114 Parameter(
const DAAL_UINT64 resultsToCompute = gradient);
120 Parameter(
const Parameter &other);
122 virtual ~Parameter() {}
124 DAAL_UINT64 resultsToCompute;
132 class DAAL_EXPORT Input :
public daal::algorithms::Input
139 Input(
const Input& other);
149 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
156 data_management::NumericTablePtr
get(InputId id)
const;
165 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
172 class DAAL_EXPORT Result:
public daal::algorithms::Result
175 DECLARE_SERIALIZABLE_CAST(Result);
180 virtual ~Result() {};
190 template <
typename algorithmFPType>
191 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
198 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
205 data_management::NumericTablePtr
get(ResultId id)
const;
215 virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
219 template<
typename Archive,
bool onDeserialize>
220 services::Status serialImpl(Archive *arch)
222 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
225 typedef services::SharedPtr<Result> ResultPtr;
228 using interface1::Parameter;
229 using interface1::Input;
230 using interface1::Result;
231 using interface1::ResultPtr;
daal::algorithms::optimization_solver::objective_function::argument
Definition: objective_function_types.h:57
daal::algorithms::optimization_solver::objective_function::lipschitzConstantIdx
Definition: objective_function_types.h:89
daal::algorithms::optimization_solver::objective_function::value
Definition: objective_function_types.h:68
daal::algorithms::optimization_solver::objective_function::componentOfHessianDiagonalIdx
Definition: objective_function_types.h:91
daal
Definition: algorithm_base_common.h:31
daal::algorithms::interface1::Result
Base class to represent final results of the computation. Algorithm-specific final results are repres...
Definition: algorithm_types.h:307
daal::algorithms::optimization_solver::objective_function::componentOfHessianDiagonal
Definition: objective_function_types.h:74
daal::algorithms::optimization_solver::objective_function::interface1::Parameter::resultsToCompute
DAAL_UINT64 resultsToCompute
Definition: objective_function_types.h:124
daal::algorithms::optimization_solver::objective_function::interface1::Result
Provides methods to access final results obtained with the compute() method of the Objective function...
Definition: objective_function_types.h:172
daal::algorithms::optimization_solver::objective_function::nonSmoothTermValue
Definition: objective_function_types.h:70
daal::algorithms::optimization_solver::objective_function::componentOfProximalProjection
Definition: objective_function_types.h:75
daal::algorithms::optimization_solver::objective_function::interface1::Result::~Result
virtual ~Result()
Definition: objective_function_types.h:180
daal::algorithms::optimization_solver::objective_function::gradientIdx
Definition: objective_function_types.h:84
daal::algorithms::optimization_solver::objective_function::ResultToComputeId
ResultToComputeId
Definition: objective_function_types.h:65
daal::algorithms::optimization_solver::objective_function::hessian
Definition: objective_function_types.h:69
daal::algorithms::optimization_solver::objective_function::lipschitzConstant
Definition: objective_function_types.h:72
daal::algorithms::interface1::Parameter
Base class to represent computation parameters. Algorithm-specific parameters are represented as deri...
Definition: algorithm_types.h:60
daal::algorithms::optimization_solver::objective_function::hessianIdx
Definition: objective_function_types.h:86
daal::algorithms::optimization_solver::objective_function::valueIdx
Definition: objective_function_types.h:85
daal::algorithms::optimization_solver::objective_function::ResultId
ResultId
Definition: objective_function_types.h:82
daal::algorithms::optimization_solver::objective_function::gradient
Definition: objective_function_types.h:67
daal::algorithms::optimization_solver::objective_function::InputId
InputId
Definition: objective_function_types.h:55
daal::algorithms::optimization_solver::objective_function::componentOfGradientIdx
Definition: objective_function_types.h:90
daal::algorithms::optimization_solver::objective_function::nonSmoothTermValueIdx
Definition: objective_function_types.h:87
daal::algorithms::optimization_solver::objective_function::componentOfGradient
Definition: objective_function_types.h:73
daal::algorithms::optimization_solver::objective_function::componentOfProximalProjectionIdx
Definition: objective_function_types.h:92
daal::algorithms::optimization_solver::objective_function::proximalProjection
Definition: objective_function_types.h:71
daal::algorithms::optimization_solver::objective_function::interface1::Parameter
Parameter for the Objective function
Definition: objective_function_types.h:108
daal::algorithms::optimization_solver::objective_function::proximalProjectionIdx
Definition: objective_function_types.h:88