qdk_chemistry.algorithms.phase_estimation.base module

QDK/Chemistry phase estimation abstractions and utilities.

class qdk_chemistry.algorithms.phase_estimation.base.PhaseEstimation(num_bits=-1, evolution_time=0.0)[source]

Bases: Algorithm

Abstract base class for phase estimation algorithms.

Parameters:
__init__(num_bits=-1, evolution_time=0.0)[source]

Initialize the PhaseEstimation with default settings.

Parameters:
  • num_bits (int) – The number of phase bits to estimate. Default to -1; user needs to set a valid value.

  • evolution_time (float) – Time parameter t used in the time-evolution unitary U = exp(-i H t), defaults to 0.0; user needs to set a valid value.

type_name()[source]

Return the algorithm type name as phase_estimation.

Return type:

str

class qdk_chemistry.algorithms.phase_estimation.base.PhaseEstimationFactory[source]

Bases: AlgorithmFactory

Factory class for creating PhaseEstimation instances.

__init__()[source]

Initialize the PhaseEstimationFactory.

algorithm_type_name()[source]

Return the algorithm type name as phase_estimation.

Return type:

str

default_algorithm_name()[source]

Return the iterative as default algorithm name.

Return type:

str

class qdk_chemistry.algorithms.phase_estimation.base.PhaseEstimationSettings[source]

Bases: Settings

Settings for the Phase Estimation algorithm.

__init__()[source]

Initialize the settings for Phase Estimation.

Parameters:
  • num_bits – The number of phase bits to estimate. Default to -1; user needs to set a valid value.

  • evolution_time – Time parameter t used in the time-evolution unitary U = exp(-i H t), defaults to 0.0; user needs to set a valid value. This setting is only applicable to time evolution-based unitary builders such as Trotter.