core.circuit.drawer#
Classes#
Gate component for plotting quantum circuits. |
Functions#
|
Plot a quantum circuit diagram. |
|
Add a gate to the quantum circuit diagram. |
|
Get the display name for a quantum gate. |
|
Calculate the width of text based on font size and a ratio. |
|
Calculate the width of a gate based on its text representation. |
|
Add control and target points for multi-qubit gates. |
|
Add a control point to the quantum circuit diagram. |
|
Add a target point to the quantum circuit diagram. |
|
Add a measurement gate to the quantum circuit diagram. |
|
Add a connection line between two qubits in the quantum circuit diagram. |
|
Check if the quantum circuit ends with measurement gates. |
Context manager for setting plot style. |
Module Contents#
- class GateComponent#
Bases:
NamedTuple
Gate component for plotting quantum circuits.
- –| |–
^– gate (center) position
- position: float#
- width: float#
- plot_quantum_circuit(circuit: core.circuit.circuit.QuantumCircuit, title: bool | str = True, decompose_level: int = 0) None #
Plot a quantum circuit diagram.
- Parameters:
circuit (QuantumCircuit) – The quantum circuit to plot.
title (Union[bool, str], optional) – Title of the plot. If True, use default title. If False, no title. If string, use as custom title. Defaults to True.
decompose_level (int, optional) – The level of circuit decomposition.
- add_gate(ax: matplotlib.pyplot.Axes, gate: core.circuit.circuit.Gate, time_step: float, gate_width: float)#
Add a gate to the quantum circuit diagram.
- gate_name(gate: core.circuit.circuit.Gate) str #
Get the display name for a quantum gate.
- Parameters:
gate (Gate) – The quantum gate.
- Returns:
The display name of the quantum gate.
- Return type:
str
Examples
>>> gate_name(SingleQubitGate(0, SingleQubitGateType.H)) '$H$'
- get_text_width(text: str, fontsize: int, ratio: float = 0.4) float #
Calculate the width of text based on font size and a ratio.
- calculate_gate_width(gate: core.circuit.circuit.Gate) float #
Calculate the width of a gate based on its text representation.
- add_control_target(ax: matplotlib.pyplot.Axes, gate: core.circuit.circuit.TwoQubitGate | core.circuit.circuit.ParametricTwoQubitGate | core.circuit.circuit.ThreeQubitGate, time_step: float)#
Add control and target points for multi-qubit gates.
- add_control(ax: matplotlib.pyplot.Axes, qubit: int, time_step: float)#
Add a control point to the quantum circuit diagram.
- add_target(ax: matplotlib.pyplot.Axes, qubit: int, time_step: float)#
Add a target point to the quantum circuit diagram.
- add_measurement(ax: matplotlib.pyplot.Axes, qubit: int, time_step: float)#
Add a measurement gate to the quantum circuit diagram.
- add_connection(ax: matplotlib.pyplot.Axes, qubit1: int, qubit2: int, time_step: float)#
Add a connection line between two qubits in the quantum circuit diagram.
- check_final_measurement(circuit: core.circuit.circuit.QuantumCircuit) bool #
Check if the quantum circuit ends with measurement gates.
- plot_style()#
Context manager for setting plot style.