@@ -923,7 +923,27 @@ def test_all_single_qubit_clifford_unitaries():
923
923
assert cirq .equal_up_to_global_phase (cs [23 ], (i - 1j * (- x - y - z )) / 2 )
924
924
925
925
926
+ def test_clifford_gate_repr ():
927
+ q0 , q1 , q2 = cirq .LineQubit .range (3 )
928
+ gates : list [cirq .ops .CliffordGate ] = [
929
+ # Common gates
930
+ cirq .ops .CliffordGate .CNOT ,
931
+ cirq .ops .CliffordGate .CZ ,
932
+ cirq .ops .CliffordGate .SWAP ,
933
+ # Other gates
934
+ cirq .ops .CliffordGate .from_op_list (
935
+ [cirq .ops .PhasedXZGate (axis_phase_exponent = 0.25 , x_exponent = - 1 , z_exponent = 0 ).on (q0 )],
936
+ [q0 ],
937
+ ),
938
+ cirq .ops .CliffordGate .from_op_list ([cirq .ops .X (q0 ), cirq .CZ (q1 , q2 )], [q0 , q1 , q2 ]),
939
+ ]
940
+ for gate in gates :
941
+ t = gate .clifford_tableau
942
+ assert repr (gate ) == f"Clifford Gate with Tableau:\n { t ._str_full_ ()} "
943
+
944
+
926
945
def test_single_qubit_clifford_gate_repr ():
946
+ # Common gates
927
947
assert repr (cirq .ops .SingleQubitCliffordGate .X ) == (
928
948
'cirq.ops.SingleQubitCliffordGate(_clifford_tableau=cirq.CliffordTableau(1, '
929
949
'rs=np.array([False, True]), xs=np.array([[True], [False]]), '
@@ -950,8 +970,22 @@ def test_single_qubit_clifford_gate_repr():
950
970
'zs=np.array([[False], [True]])))'
951
971
)
952
972
953
- assert str (cirq .ops .SingleQubitCliffordGate .X ) == (
973
+ assert repr (cirq .ops .SingleQubitCliffordGate .X ) == (
954
974
'cirq.ops.SingleQubitCliffordGate(_clifford_tableau=cirq.CliffordTableau(1, '
955
975
'rs=np.array([False, True]), xs=np.array([[True], [False]]), '
956
976
'zs=np.array([[False], [True]])))'
957
977
)
978
+
979
+ # Other gates
980
+ qa = cirq .NamedQubit ('a' )
981
+ gate = cirq .ops .SingleQubitCliffordGate .from_clifford_tableau (
982
+ cirq .ops .CliffordGate .from_op_list (
983
+ [cirq .ops .PhasedXZGate (axis_phase_exponent = 0.25 , x_exponent = - 1 , z_exponent = 0 ).on (qa )],
984
+ [qa ],
985
+ ).clifford_tableau
986
+ )
987
+ assert repr (gate ) == (
988
+ 'cirq.ops.SingleQubitCliffordGate(_clifford_tableau=cirq.CliffordTableau(1, '
989
+ 'rs=np.array([False, True]), xs=np.array([[True], [False]]), '
990
+ 'zs=np.array([[True], [True]])))'
991
+ )
0 commit comments