pyquil.wavefunction¶

Module containing the Wavefunction object and methods for working with wavefunctions.

class pyquil.wavefunction.Wavefunction(amplitude_vector)[source]

Bases: object

get_outcome_probs()[source]

Parses a wavefunction (array of complex amplitudes) and returns a dictionary of outcomes and associated probabilities.

Returns: A dict with outcomes as keys and probabilities as values. dict
classmethod ground(qubit_num)[source]

Constructs the groundstate wavefunction for a given number of qubits.

Parameters: qubit_num (int) – A Wavefunction in the ground state Wavefunction
pretty_print(decimal_digits=2)[source]

Returns a string repr of the wavefunction, ignoring all outcomes with approximately zero amplitude (up to a certain number of decimal digits) and rounding the amplitudes to decimal_digits.

Parameters: decimal_digits (int) – The number of digits to truncate to. A dict with outcomes as keys and complex amplitudes as values. str
pretty_print_probabilities(decimal_digits=2)[source]

Prints outcome probabilities, ignoring all outcomes with approximately zero probabilities (up to a certain number of decimal digits) and rounding the probabilities to decimal_digits.

Parameters: decimal_digits (int) – The number of digits to truncate to. A dict with outcomes as keys and probabilities as values. dict
pyquil.wavefunction.get_bitstring_from_index(index, qubit_num)[source]

Returns the bitstring in lexical order that corresponds to the given index in 0 to 2^(qubit_num) :param int index: :param int qubit_num: :return: the bitstring :rtype: str