QCOR
Public Member Functions | Protected Attributes | List of all members
qcor::ObjectiveFunctionImpl< KernelArgs > Class Template Reference
Inheritance diagram for qcor::ObjectiveFunctionImpl< KernelArgs >:
qcor::ObjectiveFunction

Public Member Functions

 ObjectiveFunctionImpl (void *k_ptr, Operator obs, xacc::internal_compiler::qreg &qq, std::shared_ptr< LocalArgsTranslator > translator, std::shared_ptr< ObjectiveFunction > obj_helper, const int dim, HeterogeneousMap opts)
 
 ObjectiveFunctionImpl (void *k_ptr, Operator obs, xacc::internal_compiler::qreg &qq, std::shared_ptr< LocalArgsTranslator > translator, std::shared_ptr< ObjectiveFunction > obj_helper, std::shared_ptr< GradientFunction > grad_calc, const int dim, HeterogeneousMap opts)
 
 ObjectiveFunctionImpl (void *k_ptr, Operator obs, std::shared_ptr< ObjectiveFunction > obj_helper, const int dim, HeterogeneousMap opts)
 
 ObjectiveFunctionImpl (std::function< void(std::shared_ptr< CompositeInstruction >, KernelArgs...)> &functor, Operator obs, xacc::internal_compiler::qreg &qq, std::shared_ptr< LocalArgsTranslator > translator, std::shared_ptr< ObjectiveFunction > obj_helper, const int dim, HeterogeneousMap opts)
 
void set_options (HeterogeneousMap &opts) override
 
std::function< std::shared_ptr< CompositeInstruction >std::vector< double >)> get_kernel_evaluator () override
 
double operator() (xacc::internal_compiler::qreg &qreg, std::vector< double > &dx) override
 
double operator() (const std::vector< double > &x, std::vector< double > &dx) override
 
xacc::internal_compiler::qreg get_qreg () override
 
const std::string name () const override
 
const std::string description () const override
 
- Public Member Functions inherited from qcor::ObjectiveFunction
 ObjectiveFunction (OptimizerFunctor f, const int d)
 
 ObjectiveFunction (OptimizerFunctorNoGrad f, const int d)
 
const std::string name () const override
 
const std::string description () const override
 
virtual const int dimensions () const
 
virtual double operator() (const std::vector< double > &x)
 
void update_observable (Operator updated_observable)
 
Operator get_observable ()
 
void update_kernel (std::shared_ptr< CompositeInstruction > updated_kernel)
 
void update_current_iterate_parameters (std::vector< double > x)
 
template<typename T >
void update_options (const std::string key, T value)
 

Protected Attributes

std::shared_ptr< LocalArgsTranslatorargs_translator
 
std::shared_ptr< ObjectiveFunctionhelper
 
xacc::internal_compiler::qreg qreg
 
std::shared_ptr< GradientFunctiongradiend_method
 
std::optional< std::function< std::shared_ptr< CompositeInstruction >std::vector< double >)> > lambda_kernel_evaluator
 
- Protected Attributes inherited from qcor::ObjectiveFunction
void * kernel_ptr
 
std::shared_ptr< CompositeInstructionkernel
 
Operator observable
 
HeterogeneousMap options
 
std::vector< double > current_iterate_parameters
 
int _dim = 0
 
std::function< double(const std::vector< double > &, std::vector< double > &)> _function
 

Additional Inherited Members

- Public Attributes inherited from qcor::ObjectiveFunction
bool gradients_computed = false
 

The documentation for this class was generated from the following file: