Source code for qiskit_finance.applications.estimation.estimation_application

# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2018, 2023.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.

"""An abstract class for estimation application classes."""
from abc import ABC, abstractmethod

from qiskit_algorithms import (
    EstimationProblem,
    AmplitudeEstimatorResult,
)


[docs]class EstimationApplication(ABC): """ An abstract class for estimation applications """
[docs] @abstractmethod def to_estimation_problem(self) -> EstimationProblem: """Convert a problem instance into a :class:`qiskit_algorithms.EstimationProblem` """ pass
[docs] @abstractmethod def interpret(self, result: AmplitudeEstimatorResult) -> float: """Convert the calculation result of the problem (:class:`qiskit_algorithms.AmplitudeEstimatorResult`) to the answer of the problem. Args: result: The calculated result of the problem """ pass