This project is archived
Qiskit Finance is no longer maintained and this documentation is no longer updated. It is kept online for reference only, and the code it describes may not work with current versions of Qiskit. See the project repository for more information.
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