15 #include "Algorithm.hpp" 22 const std::vector<std::string> requiredParameters()
const override;
24 void execute(
const std::shared_ptr<AcceleratorBuffer> buffer)
const override;
25 std::vector<double> execute(
const std::shared_ptr<AcceleratorBuffer> buffer,
26 const std::vector<double> ¶meters)
override;
27 const std::string
name()
const override {
return "qite"; }
29 DEFINE_ALGORITHM_CLONE(
QITE)
32 std::shared_ptr<CompositeInstruction> constructPropagateCircuit()
const;
35 double calcCurrentEnergy(
int in_nbQubits)
const;
42 std::shared_ptr<Observable> calcAOps(
const std::shared_ptr<AcceleratorBuffer>& in_buffer, std::shared_ptr<CompositeInstruction> in_kernel, std::shared_ptr<Observable> in_hmTerm)
const;
50 std::shared_ptr<Accelerator> m_accelerator;
52 std::shared_ptr<Observable> m_observable;
59 mutable std::vector<std::shared_ptr<Observable>> m_approxOps;
61 mutable std::vector<double> m_energyAtStep;
Definition: Algorithm.hpp:34
const std::string description() const override
Definition: qite.hpp:28
Definition: Accelerator.hpp:25
const std::string name() const override
Definition: qite.hpp:27
Definition: heterogeneous.hpp:45
Definition: CompositeInstruction.hpp:72