UnivariateDistribution¶
- class UnivariateDistribution(num_target_qubits, probabilities=None, low=0, high=1)[source]¶
This module contains the definition of a base class for univariate distributions. (Interface for discrete bounded uncertainty models assuming an equidistant grid)
- Parameters
num_target_qubits (
int
) – Number of qubits it acts on, has a min. value of 1.probabilities (
Union
[List
[float
],ndarray
,None
]) – Probabilities for different stateslow (
float
) – Lower bound, i.e., the value corresponding to |0…0> (assuming an equidistant grid)high (
float
) – Upper bound, i.e., the value corresponding to |1…1> (assuming an equidistant grid)
- Raises
AquaError – num qubits and length of probabilities vector do not match
Attributes
returns high
returns low
Returns the number of target qubits
returns number of values
returns probabilities
returns values
Methods
UnivariateDistribution.build
(qc, q[, …])Adds corresponding controlled sub-circuit to given circuit
Adds controlled inverse of corresponding sub-circuit to given circuit
UnivariateDistribution.build_controlled_inverse_power
(qc, …)Adds controlled, inverse, power of corresponding circuit.
Adds controlled power of corresponding circuit.
Adds inverse of corresponding sub-circuit to given circuit
Adds inverse power of corresponding circuit.
UnivariateDistribution.build_power
(qc, q, power)Adds power of corresponding circuit.
returns number of qubits
returns number of qubits controlled
Takes a probability density function (pdf), and returns a truncated and discretized array of probabilities corresponding to it
returns required ancillas
returns required ancillas controlled