Skip to content

Commit 4ad58f6

Browse files
daxfohlmhucka
andauthored
Return NotImplemented for diagram info for empty PauliStringPhasors (#6880)
This fixes problems created when diagramming a PauliSumExponential on an `I`, which gets stripped out. Co-authored-by: Michael Hucka <[email protected]>
1 parent 0f8701f commit 4ad58f6

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

cirq-core/cirq/ops/pauli_string_phasor.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ def _circuit_diagram_info_(
189189
self, args: 'cirq.CircuitDiagramInfoArgs'
190190
) -> 'cirq.CircuitDiagramInfo':
191191
qubits = self.qubits if args.known_qubits is None else args.known_qubits
192+
if not qubits:
193+
return NotImplemented
192194

193195
def sym(qubit):
194196
if qubit in self.pauli_string:

cirq-core/cirq/ops/pauli_string_phasor_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,13 @@ def test_text_diagram():
422422
)
423423

424424

425+
def test_empty_phasor_diagram():
426+
q = cirq.LineQubit(0)
427+
op = cirq.PauliSumExponential(cirq.I(q))
428+
circuit = cirq.Circuit(op)
429+
cirq.testing.assert_has_diagram(circuit, ' (I)**-0.6366197723675815')
430+
431+
425432
def test_repr():
426433
q0, q1, q2 = _make_qubits(3)
427434
cirq.testing.assert_equivalent_repr(

0 commit comments

Comments
 (0)