Skip to content

Commit 10b0a2a

Browse files
Add support for LineQubit to serializer.py
1 parent 68e0ec3 commit 10b0a2a

File tree

2 files changed

+151
-100
lines changed

2 files changed

+151
-100
lines changed

tensorflow_quantum/core/serialize/serializer.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -795,8 +795,8 @@ def serialize_circuit(circuit_inp):
795795
Currently we only support scalar multiplication of symbols and
796796
no other more complex arithmetic expressions. This means
797797
we can support things like X**(3*alpha), and Rx(alpha). Because
798-
we use the `cirq.Program` proto, we only support `cirq.GridQubit` instances
799-
during serialization of circuits.
798+
we use the `cirq.Program` proto, we only support `cirq.GridQubit`
799+
and `cirq.LineQubit` instances during serialization of circuits.
800800
801801
Note: once serialized terminal measurements are removed.
802802
@@ -823,10 +823,10 @@ def serialize_circuit(circuit_inp):
823823
measured_qubits = set()
824824
for op in moment:
825825
for qubit in op.qubits:
826-
if not isinstance(qubit, cirq.GridQubit):
826+
if not isinstance(qubit, (cirq.GridQubit, cirq.LineQubit)):
827827
raise ValueError(
828828
"Attempted to serialize circuit that don't use "
829-
"only cirq.GridQubits.")
829+
"only cirq.GridQubits or cirq.LineQubits.")
830830

831831
if isinstance(op.gate, cirq.MeasurementGate):
832832
for qubit in op.qubits:
@@ -907,9 +907,10 @@ def serialize_paulisum(paulisum):
907907
raise TypeError("serialize requires a cirq.PauliSum object."
908908
" Given: " + str(type(paulisum)))
909909

910-
if any(not isinstance(qubit, cirq.GridQubit) for qubit in paulisum.qubits):
910+
if any(not isinstance(qubit, (cirq.LineQubit, cirq.GridQubit))
911+
for qubit in paulisum.qubits):
911912
raise ValueError("Attempted to serialize a paulisum that doesn't use "
912-
"only cirq.GridQubits.")
913+
"only cirq.GridQubits or cirq.LineQubits.")
913914

914915
paulisum_proto = pauli_sum_pb2.PauliSum()
915916
for term in paulisum:

0 commit comments

Comments
 (0)