UniformDistribution

class UniformDistribution(num_target_qubits, low=0, high=1)[source]

The Univariate Uniform Distribution.

Uniform distribution is defined by the number of qubits that should be used to represent the distribution, as well as the lower bound and upper bound of the considered interval.

Parameters
  • num_target_qubits (int) – Number of qubits it acts on, has a minimum value of 1.

  • low (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)

Attributes

UniformDistribution.high

returns high

UniformDistribution.low

returns low

UniformDistribution.num_target_qubits

Returns the number of target qubits

UniformDistribution.num_values

returns number of values

UniformDistribution.probabilities

returns probabilities

UniformDistribution.values

returns values

Methods

UniformDistribution.build(qc, q[, …])

UniformDistribution.build_controlled(qc, q, …)

Adds corresponding controlled sub-circuit to given circuit

UniformDistribution.build_controlled_inverse(qc, …)

Adds controlled inverse of corresponding sub-circuit to given circuit

UniformDistribution.build_controlled_inverse_power(qc, …)

Adds controlled, inverse, power of corresponding circuit.

UniformDistribution.build_controlled_power(qc, …)

Adds controlled power of corresponding circuit.

UniformDistribution.build_inverse(qc, q[, …])

Adds inverse of corresponding sub-circuit to given circuit

UniformDistribution.build_inverse_power(qc, …)

Adds inverse power of corresponding circuit.

UniformDistribution.build_power(qc, q, power)

Adds power of corresponding circuit.

UniformDistribution.get_num_qubits()

returns number of qubits

UniformDistribution.get_num_qubits_controlled()

returns number of qubits controlled

UniformDistribution.pdf_to_probabilities(…)

Takes a probability density function (pdf), and returns a truncated and discretized array of probabilities corresponding to it

UniformDistribution.required_ancillas()

returns required ancillas

UniformDistribution.required_ancillas_controlled()

returns required ancillas controlled