Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecation warning, remove old draw, and rename display as draw in Circuit class #1464

Merged
merged 9 commits into from
Sep 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions doc/source/code-examples/advancedexamples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1151,7 +1151,7 @@ Additionally, one can also pass single-qubit readout error probabilities (`reado
)

print("raw circuit:")
print(circuit.draw())
circuit.draw()

parameters = {
"t1": {"0": 250*1e-06, "1": 240*1e-06},
Expand All @@ -1168,7 +1168,7 @@ Additionally, one can also pass single-qubit readout error probabilities (`reado
noisy_circuit = noise_model.apply(circuit)

print("noisy circuit:")
print(noisy_circuit.draw())
noisy_circuit.draw()

.. testoutput::
:hide:
Expand Down Expand Up @@ -1242,7 +1242,7 @@ Let's see how to use them. For starters, let's define a dummy circuit with some
circ.add(gates.M(*range(nqubits)))

# visualize the circuit
print(circ.draw())
circ.draw()

# q0: ─RZ─RX─RZ─RX─RZ─o────o────────M─
# q1: ─RZ─RX─RZ─RX─RZ─X─RZ─X─o────o─M─
Expand Down
2 changes: 1 addition & 1 deletion doc/source/code-examples/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ For example
from qibo.models import QFT

c = QFT(5)
print(c.draw())
c.draw()
# Prints
'''
q0: ─H─U1─U1─U1─U1───────────────────────────x───
Expand Down
2 changes: 1 addition & 1 deletion examples/adiabatic_qml/adiabatic-qml.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,7 @@
"circ1 = rotcirc.rotations_circuit(t=0.1)\n",
"circ2 = rotcirc.rotations_circuit(t=0.8)\n",
"\n",
"print(f\"Circuit diagram: {circ1.draw()}\")\n",
"print(f\"Circuit diagram: {str(circ1)}\")\n",
"print(f\"\\nCirc1 params: {circ1.get_parameters()}\")\n",
"print(f\"\\nCirc2 params: {circ2.get_parameters()}\")"
]
Expand Down
2 changes: 1 addition & 1 deletion examples/anomaly_detection/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def compute_loss_test(encoder, vector):
encoder_test = make_encoder(n_qubits, n_layers, trained_params, q_compression)
encoder_test.compile()
print("Circuit model summary")
print(encoder_test.draw())
encoder_test.draw()

print("Computing losses...")
# Compute loss for standard data
Expand Down
2 changes: 1 addition & 1 deletion examples/anomaly_detection/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ def train_step(batch_size, encoder, params, dataset):
# Create and print encoder circuit
encoder = make_encoder(n_qubits, n_layers, params, q_compression)
print("Circuit model summary")
print(encoder.draw())
encoder.draw()

# Define optimizer parameters
steps_for_epoch = math.ceil(train_size / batch_size)
Expand Down
10 changes: 5 additions & 5 deletions examples/circuit-draw-mpl/qibo-draw-circuit-matplotlib.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
" \n",
"ansatz.add((gates.RY(q, theta=0) for q in range(nqubits)))\n",
"ansatz.add(gates.M(qubit) for qubit in range(2))\n",
"print(ansatz.draw())"
"ansatz.draw()"
]
},
{
Expand Down Expand Up @@ -185,7 +185,7 @@
"c.add(gates.X(1))\n",
"c.add(gates.X(0))\n",
"c.add(gates.M(qubit) for qubit in range(2))\n",
"print(c.draw())"
"c.draw()"
]
},
{
Expand All @@ -206,7 +206,7 @@
}
],
"source": [
"plot_circuit(c);"
"plot_circuit(c)"
]
},
{
Expand All @@ -231,7 +231,7 @@
"c = QFT(5)\n",
"c.add(gates.M(qubit) for qubit in range(2))\n",
"\n",
"print(c.draw())"
"c.draw()"
]
},
{
Expand Down Expand Up @@ -384,7 +384,7 @@
}
],
"source": [
"print(c.fuse().draw())"
"c.fuse().draw()"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion examples/qcnn_classifier/qcnn_demo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@
"source": [
"test = QuantumCNN(nqubits=4, nlayers=1, nclasses=2)\n",
"testcircuit = test._circuit\n",
"print(testcircuit.draw())"
"testcircuit.draw()"
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions examples/qfiae/qfiae_demo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,7 @@
],
"source": [
"circuit_a_prob = create_circuit_a(n_qubits = 4,b_max = x_max_int, b_min = x_min_int)\n",
"print(circuit_a_prob.draw())"
"circuit_a_prob.draw()"
]
},
{
Expand Down Expand Up @@ -753,7 +753,7 @@
}
],
"source": [
"print(create_circuit_q(n_qubits=4,circuit_a=circuit_a_prob).draw())"
"create_circuit_q(n_qubits=4,circuit_a=circuit_a_prob).draw()"
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion src/qibo/gates/abstract.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ def on_qubits(self, qubit_map) -> "Gate":
c.add(gates.CNOT(2, 3).on_qubits({2: 3, 3: 0})) # equivalent to gates.CNOT(3, 0)
c.add(gates.CNOT(2, 3).on_qubits({2: 1, 3: 3})) # equivalent to gates.CNOT(1, 3)
c.add(gates.CNOT(2, 3).on_qubits({2: 2, 3: 1})) # equivalent to gates.CNOT(2, 1)
print(c.draw())
c.draw()
.. testoutput::

q0: ───X─────
Expand Down
2 changes: 1 addition & 1 deletion src/qibo/gates/measurements.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ def on_qubits(self, qubit_map) -> "Gate":
c = models.Circuit(3)
c.add(measurement.on_qubits({0: 0, 1: 2}))
assert c.queue[0].result is measurement.result
print(c.draw())
c.draw()
.. testoutput::

q0: ─M─
Expand Down
24 changes: 1 addition & 23 deletions src/qibo/models/circuit.py
Original file line number Diff line number Diff line change
Expand Up @@ -1377,26 +1377,4 @@ def draw(self, line_wrap: int = 70, legend: bool = False):
Returns:
String containing text circuit diagram.
"""
qibo.config.log.warning(
"Starting on qibo 0.2.13, ``Circuit.draw`` will work in-place. "
+ "The in-place method is currently implemented as ``Circuit.display``, but "
+ "will be renamed as ``Circuit.draw`` on release 0.2.13. "
+ "In release 0.2.12, the in-place display of circuits is accessible as "
+ "``Circuit.display``."
)
return self.diagram(line_wrap, legend)

def display(self, line_wrap: int = 70, legend: bool = False):
"""Draw text circuit using unicode symbols.

Args:
line_wrap (int, optional): maximum number of characters per line. This option
split the circuit text diagram in chunks of line_wrap characters.
Defaults to :math:`70`.
legend (bool, optional): If ``True`` prints a legend below the circuit for
callbacks and channels. Defaults to ``False``.

Returns:
String containing text circuit diagram.
"""
sys.stdout.write(self.diagram(line_wrap, legend))
sys.stdout.write(self.diagram(line_wrap, legend) + "\n")
2 changes: 1 addition & 1 deletion tests/test_measurements.py
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ def test_measurement_basis_list(backend):
result = backend.execute_circuit(c, nshots=100)
assert result.frequencies() == {"0011": 100}
assert (
c.draw()
str(c)
== """q0: ─H─H───M─
q1: ───────M─
q2: ─X─H─H─M─
Expand Down
Loading