-
Notifications
You must be signed in to change notification settings - Fork 143
Description
What should we add?
Follow-up #436 (comment) by @woodsp-ibm
If users apply Sampler to QuantumAlgorithm, the result QuasiDistribution is interpreted at the following method.
https://github.com/Qiskit/qiskit-optimization/blob/a752fd9e6af400a427a841952aac9555e454bc30/qiskit_optimization/algorithms/optimization_algorithm.py#L522-L525
QuasiDistribution can return both quasi-probabilities (can be negative values) and nearest probability. We need to think of 1) whether we provide an option to control quasi prob or nearest prob and 2) how to control it.
We also need to think of an option to control min_probability. We currently set 1e-6 and do not allow users control it. But, it might be necessary to control it especially for quasi-probabilities.
One idea is to add options to QuantumAlgorithm.__init__ as follows.
class ProbabilityType(Enum):
QUASI = 0
NEAREST = 1
class QuantumAlgorithm(ABC):
def __init__(*, probability_type: ProbabilityType=ProbabilityType.QUASI, min_probability: float=1e-6):
self._probability_type = probability_type
self._min_probability = min_probabilityI welcome your feedback and ideas.