@@ -70,13 +70,13 @@ class QCircuit:
70
70
71
71
Example:
72
72
>>> circuit = QCircuit(2)
73
- >>> circuit.pretty_print() # doctest: +NORMALIZE_WHITESPACE
73
+ >>> circuit.pretty_print() # doctest: +NORMALIZE_WHITESPACE
74
74
QCircuit : Size (Qubits,Cbits) = (2, 0), Nb instructions = 0
75
75
q_0:
76
76
q_1:
77
77
>>> circuit = QCircuit(5, nb_cbits=2, label="Circuit 1")
78
78
>>> circuit.add(Rx(1.23, 3))
79
- >>> circuit.pretty_print() # doctest: +NORMALIZE_WHITESPACE
79
+ >>> circuit.pretty_print() # doctest: +NORMALIZE_WHITESPACE
80
80
QCircuit Circuit 1: Size (Qubits,Cbits) = (5, 2), Nb instructions = 1
81
81
q_0: ────────────
82
82
q_1: ────────────
@@ -137,7 +137,7 @@ def add(self, instruction: Instruction | Iterable[Instruction]):
137
137
>>> circuit = QCircuit(2)
138
138
>>> circuit.add(X(0))
139
139
>>> circuit.add([CNOT(0, 1), BasisMeasure([0, 1], shots=100)])
140
- >>> circuit.pretty_print() # doctest: +NORMALIZE_WHITESPACE
140
+ >>> circuit.pretty_print() # doctest: +NORMALIZE_WHITESPACE
141
141
QCircuit : Size (Qubits,Cbits) = (2, 2), Nb instructions = 3
142
142
┌───┐ ┌─┐
143
143
q_0: ┤ X ├──■──┤M├───
@@ -202,7 +202,7 @@ def append(self, other: QCircuit, qubits_offset: int = 0) -> None:
202
202
>>> c1 = QCircuit([CNOT(0,1),CNOT(1,2)])
203
203
>>> c2 = QCircuit([X(1),CNOT(1,2)])
204
204
>>> c1.append(c2)
205
- >>> print(c1) # doctest: +NORMALIZE_WHITESPACE
205
+ >>> print(c1) # doctest: +NORMALIZE_WHITESPACE
206
206
q_0: ──■─────────────────
207
207
┌─┴─┐ ┌───┐
208
208
q_1: ┤ X ├──■──┤ X ├──■──
@@ -260,7 +260,7 @@ def tensor(self, other: QCircuit) -> QCircuit:
260
260
Example:
261
261
>>> c1 = QCircuit([CNOT(0,1),CNOT(1,2)])
262
262
>>> c2 = QCircuit([X(1),CNOT(1,2)])
263
- >>> print(c1.tensor(c2)) # doctest: +NORMALIZE_WHITESPACE
263
+ >>> print(c1.tensor(c2)) # doctest: +NORMALIZE_WHITESPACE
264
264
q_0: ──■───────
265
265
┌─┴─┐
266
266
q_1: ┤ X ├──■──
@@ -304,7 +304,7 @@ def display(self, output: str = "mpl"):
304
304
┌──────┐
305
305
q: ┤ P(θ) ├
306
306
└──────┘
307
- >>> print(circ.display("latex_source")) # doctest: +NORMALIZE_WHITESPACE
307
+ >>> print(circ.display("latex_source")) # doctest: +NORMALIZE_WHITESPACE
308
308
\documentclass[border=2px]{standalone}
309
309
\usepackage[braket, qm]{qcircuit}
310
310
\usepackage{graphicx}
@@ -476,26 +476,26 @@ def inverse(self) -> QCircuit:
476
476
477
477
Examples:
478
478
>>> c1 = QCircuit([H(0), CNOT(0,1)])
479
- >>> print(c1) # doctest: +NORMALIZE_WHITESPACE
479
+ >>> print(c1) # doctest: +NORMALIZE_WHITESPACE
480
480
┌───┐
481
481
q_0: ┤ H ├──■──
482
482
└───┘┌─┴─┐
483
483
q_1: ─────┤ X ├
484
484
└───┘
485
- >>> print(c1.inverse()) # doctest: +NORMALIZE_WHITESPACE
485
+ >>> print(c1.inverse()) # doctest: +NORMALIZE_WHITESPACE
486
486
┌───┐
487
487
q_0: ──■──┤ H ├
488
488
┌─┴─┐└───┘
489
489
q_1: ┤ X ├─────
490
490
└───┘
491
491
>>> c2 = QCircuit([S(0), CZ(0,1), H(1), Ry(4.56, 1)])
492
- >>> print(c2) # doctest: +NORMALIZE_WHITESPACE
492
+ >>> print(c2) # doctest: +NORMALIZE_WHITESPACE
493
493
┌───┐
494
494
q_0: ┤ S ├─■──────────────────
495
495
└───┘ │ ┌───┐┌──────────┐
496
496
q_1: ──────■─┤ H ├┤ Ry(4.56) ├
497
497
└───┘└──────────┘
498
- >>> print(c2.inverse()) # doctest: +NORMALIZE_WHITESPACE
498
+ >>> print(c2.inverse()) # doctest: +NORMALIZE_WHITESPACE
499
499
┌───┐
500
500
q_0: ──────────────────■─┤ S ├
501
501
┌──────────┐┌───┐ │ └───┘
@@ -544,7 +544,7 @@ def initializer(cls, state: npt.NDArray[np.complex64]) -> QCircuit:
544
544
545
545
Examples:
546
546
>>> qc = QCircuit.initializer(np.array([1, 0, 0 ,1])/np.sqrt(2))
547
- >>> print(qc) # doctest: +NORMALIZE_WHITESPACE
547
+ >>> print(qc) # doctest: +NORMALIZE_WHITESPACE
548
548
┌───┐
549
549
q_0: ┤ H ├──■──
550
550
└───┘┌─┴─┐
@@ -600,8 +600,9 @@ def get_measurements(self) -> list[Measure]:
600
600
... BasisMeasure([0, 1], shots=1000),
601
601
... ExpectationMeasure([1], Observable(np.identity(2)), shots=1000)
602
602
... ])
603
- >>> circuit.get_measurements()
604
- [BasisMeasure([0, 1], shots=1000), ExpectationMeasure([1], Observable(array([[1.+0.j, 0.+0.j], [0.+0.j, 1.+0.j]], dtype=complex64)), shots=1000)]
603
+ >>> circuit.get_measurements() # doctest: +NORMALIZE_WHITESPACE
604
+ [BasisMeasure([0, 1], shots=1000),
605
+ ExpectationMeasure([1], Observable(array([[1.+0.j, 0.+0.j], [0.+0.j, 1.+0.j]], dtype=complex64)), shots=1000)]
605
606
606
607
"""
607
608
return [inst for inst in self .instructions if isinstance (inst , Measure )]
@@ -614,15 +615,15 @@ def without_measurements(self) -> QCircuit:
614
615
615
616
Example:
616
617
>>> circuit = QCircuit([X(0), CNOT(0, 1), BasisMeasure([0, 1], shots=100)])
617
- >>> print(circuit) # doctest: +NORMALIZE_WHITESPACE
618
+ >>> print(circuit) # doctest: +NORMALIZE_WHITESPACE
618
619
┌───┐ ┌─┐
619
620
q_0: ┤ X ├──■──┤M├───
620
621
└───┘┌─┴─┐└╥┘┌─┐
621
622
q_1: ─────┤ X ├─╫─┤M├
622
623
└───┘ ║ └╥┘
623
624
c: 2/═══════════╩══╩═
624
625
0 1
625
- >>> print(circuit.without_measurements()) # doctest: +NORMALIZE_WHITESPACE
626
+ >>> print(circuit.without_measurements()) # doctest: +NORMALIZE_WHITESPACE
626
627
┌───┐
627
628
q_0: ┤ X ├──■──
628
629
└───┘┌─┴─┐
@@ -760,13 +761,13 @@ def to_other_language(
760
761
from cirq .transformers .optimize_for_target_gateset import (
761
762
optimize_for_target_gateset ,
762
763
)
763
- from cirq_google .engine .virtual_engine_factory import (
764
- create_device_from_processor_id ,
765
- )
766
764
from cirq .transformers .routing .route_circuit_cqc import RouteCQC
767
765
from cirq .transformers .target_gatesets .sqrt_iswap_gateset import (
768
766
SqrtIswapTargetGateset ,
769
767
)
768
+ from cirq_google .engine .virtual_engine_factory import (
769
+ create_device_from_processor_id ,
770
+ )
770
771
771
772
device = create_device_from_processor_id (cirq_proc_id )
772
773
if device .metadata is None :
@@ -798,7 +799,7 @@ def to_qasm2(self) -> str:
798
799
799
800
Example:
800
801
>>> circuit = QCircuit([X(0), CNOT(0, 1), BasisMeasure([0, 1], shots=100)])
801
- >>> print(circuit.to_qasm2()) # doctest: +NORMALIZE_WHITESPACE
802
+ >>> print(circuit.to_qasm2()) # doctest: +NORMALIZE_WHITESPACE
802
803
OPENQASM 2.0;
803
804
include "qelib1.inc";
804
805
qreg q[2];
@@ -830,7 +831,7 @@ def to_qasm3(self) -> str:
830
831
831
832
Example:
832
833
>>> circuit = QCircuit([X(0), CNOT(0, 1), BasisMeasure([0, 1], shots=100)])
833
- >>> print(circuit.to_qasm3()) # doctest: +NORMALIZE_WHITESPACE
834
+ >>> print(circuit.to_qasm3()) # doctest: +NORMALIZE_WHITESPACE
834
835
OPENQASM 3.0;
835
836
include "stdgates.inc";
836
837
qubit[2] q;
@@ -869,7 +870,7 @@ def subs(
869
870
... [Rx(theta, 0), CNOT(1,0), CNOT(1,2), X(2), Rk(2,1), H(0), CRk(k, 0, 1),
870
871
... BasisMeasure(list(range(3)), shots=1000)]
871
872
... )
872
- >>> print(c) # doctest: +NORMALIZE_WHITESPACE
873
+ >>> print(c) # doctest: +NORMALIZE_WHITESPACE
873
874
┌───────┐┌───┐┌───┐ ┌─┐
874
875
q_0: ┤ Rx(θ) ├┤ X ├┤ H ├────────────■─────────────────┤M├───
875
876
└───────┘└─┬─┘└───┘┌─────────┐ │P(2**(1 - k)*pi) └╥┘┌─┐
@@ -879,7 +880,7 @@ def subs(
879
880
└───┘ └───┘ └╥┘ ║ ║
880
881
c: 3/═══════════════════════════════════════╩══════════╩══╩═
881
882
2 0 1
882
- >>> print(c.subs({theta: np.pi, k: 1})) # doctest: +NORMALIZE_WHITESPACE
883
+ >>> print(c.subs({theta: np.pi, k: 1})) # doctest: +NORMALIZE_WHITESPACE
883
884
┌───────┐┌───┐┌───┐ ┌─┐
884
885
q_0: ┤ Rx(π) ├┤ X ├┤ H ├───────────■─────┤M├───
885
886
└───────┘└─┬─┘└───┘┌────────┐ │P(π) └╥┘┌─┐
@@ -903,7 +904,7 @@ def pretty_print(self):
903
904
904
905
Example:
905
906
>>> c = QCircuit([H(0), CNOT(0,1)])
906
- >>> c.pretty_print() # doctest: +NORMALIZE_WHITESPACE
907
+ >>> c.pretty_print() # doctest: +NORMALIZE_WHITESPACE
907
908
QCircuit : Size (Qubits,Cbits) = (2, 0), Nb instructions = 2
908
909
┌───┐
909
910
q_0: ┤ H ├──■──
@@ -943,7 +944,7 @@ def variables(self) -> set[Basic]:
943
944
... Rx(theta, 0), CNOT(1,0), CNOT(1,2), X(2), Rk(2,1),
944
945
... H(0), CRk(k, 0, 1), ExpectationMeasure([1], obs)
945
946
... ])
946
- >>> circ.variables() # doctest: +SKIP
947
+ >>> circ.variables() # doctest: +SKIP
947
948
{θ, k}
948
949
949
950
"""
0 commit comments