Module: cirq_rigetti.quil_output

Classes

class QuilFormatter: A unique formatter to correctly output values to QUIL.

class QuilOneQubitGate: A QUIL gate representing any single qubit unitary with a DEFGATE and 2x2 matrix in QUIL.

class QuilOutput: An object for passing operations and qubits then outputting them to QUIL format.

class QuilTwoQubitGate: A two qubit gate represented in QUIL with a DEFGATE and it's 4x4 unitary matrix.

class RigettiQCSQuilOutput: A sub-class of cirq.circuits.quil_output.QuilOutput that additionally accepts a qubit_id_map for explicitly mapping logical qubits to physical qubits.

Functions

to_quil_complex_format(...): A function for outputting a number to a complex string in QUIL format.

SUPPORTED_GATES

{
 <class 'cirq.ops.common_gates.CXPowGate'>: <function _cnotpow_gate>,
 <class 'cirq.ops.common_gates.CZPowGate'>: <function _czpow_gate>,
 <class 'cirq.ops.common_gates.HPowGate'>: <function _hpow_gate>,
 <class 'cirq.ops.common_gates.XPowGate'>: <function _xpow_gate>,
 <class 'cirq.ops.common_gates.YPowGate'>: <function _ypow_gate>,
 <class 'cirq.ops.common_gates.ZPowGate'>: <function _zpow_gate>,
 <class 'cirq.ops.identity.IdentityGate'>: <function _identity_gate>,
 <class 'cirq.ops.measurement_gate.MeasurementGate'>: <function _measurement_gate>,
 <class 'cirq.ops.parity_gates.XXPowGate'>: <function _xxpow_gate>,
 <class 'cirq.ops.parity_gates.YYPowGate'>: <function _yypow_gate>,
 <class 'cirq.ops.parity_gates.ZZPowGate'>: <function _zzpow_gate>,
 <class 'cirq.ops.swap_gates.ISwapPowGate'>: <function _iswappow_gate>,
 <class 'cirq.ops.swap_gates.SwapPowGate'>: <function _swappow_gate>,
 <class 'cirq.ops.three_qubit_gates.CCXPowGate'>: <function _ccnotpow_gate>,
 <class 'cirq.ops.three_qubit_gates.CCZPowGate'>: <function _cczpow_gate>,
 <class 'cirq.ops.three_qubit_gates.CSwapGate'>: <function _cswap_gate>,
 <class 'cirq.ops.two_qubit_diagonal_gate.TwoQubitDiagonalGate'>: <function _twoqubitdiagonal_gate>,
 <class 'cirq.ops.wait_gate.WaitGate'>: <function _wait_gate>,
 <class 'cirq_rigetti.quil_output.QuilOneQubitGate'>: <function _quilonequbit_gate>,
 <class 'cirq_rigetti.quil_output.QuilTwoQubitGate'>: <function _quiltwoqubit_gate>
}