Circuit Plot¶
Matplotlib based plotting of quantum circuits.
Todo:
- Optimize printing of large circuits. 
- Get this to work with single gates. 
- Do a better job checking the form of circuits to make sure it is a Mul of Gates. 
- Get multi-target gates plotting. 
- Get initial and final states to plot. 
- Get measurements to plot. Might need to rethink measurement as a gate issue. 
- Get scale and figsize to be handled in a better way. 
- Write some tests/examples! 
- 
class sympy.physics.quantum.circuitplot.CircuitPlot(c, nqubits, **kwargs)[source]¶
- A class for managing a circuit plot. 
- 
sympy.physics.quantum.circuitplot.CreateCGate(name, latexname=None)[source]¶
- Use a lexical closure to make a controlled gate. 
- 
class sympy.physics.quantum.circuitplot.Mx(*args, **kwargs)[source]¶
- Mock-up of an x measurement gate. - This is in circuitplot rather than gate.py because it’s not a real gate, it just draws one. 
- 
class sympy.physics.quantum.circuitplot.Mz(*args, **kwargs)[source]¶
- Mock-up of a z measurement gate. - This is in circuitplot rather than gate.py because it’s not a real gate, it just draws one. 
- 
sympy.physics.quantum.circuitplot.circuit_plot(c, nqubits, **kwargs)[source]¶
- Draw the circuit diagram for the circuit with nqubits. - Parameters
- c : circuit - The circuit to plot. Should be a product of Gate instances. - nqubits : int - The number of qubits to include in the circuit. Must be at least as big as the largest \(min_qubits\) of the gates. 
 
- 
sympy.physics.quantum.circuitplot.labeller(n, symbol='q')[source]¶
- Autogenerate labels for wires of quantum circuits. - Parameters
- n : int - number of qubits in the circuit - symbol : string - A character string to precede all gate labels. E.g. ‘q_0’, ‘q_1’, etc. - >>> from sympy.physics.quantum.circuitplot import labeller - >>> labeller(2) - [‘q_1’, ‘q_0’] - >>> labeller(3,’j’) - [‘j_2’, ‘j_1’, ‘j_0’] 
 
