Skip to content

Commit 758efcc

Browse files
committed
Improve the readability of Tableau str.
1 parent 11a8120 commit 758efcc

File tree

2 files changed

+21
-16
lines changed

2 files changed

+21
-16
lines changed

cirq-core/cirq/qis/clifford_tableau.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -326,31 +326,35 @@ def __str__(self) -> str:
326326
return string
327327

328328
def _str_full_(self) -> str:
329-
stable_col_width = max(7, self.n * 2 + 3)
330-
destable_col_width = max(10, self.n * 2 + 4)
329+
left_col_width = max(7, self.n * 2 + 3)
330+
right_col_width = max(10, self.n * 2 + 4)
331331

332-
def fill_row(left: str, right: str, mid='|', fillchar=' ') -> str:
333-
row_str = left.ljust(stable_col_width, fillchar) + mid + right.ljust(destable_col_width, fillchar)
334-
return row_str
332+
def fill_row(left: str, right: str, mid='|', fill=' ') -> str:
333+
return left.ljust(left_col_width, fill) + mid + right.ljust(right_col_width, fill)
335334

336-
def pauli_from_matrix(r: int, c: int):
335+
def pauli_from_matrix(r: int, c: int) -> str:
337336
return {
338337
(True, False): f'X{c}',
339338
(False, True): f'Z{c}',
340339
(True, True): f'Y{c}',
341340
(False, False): ' ',
342341
}[(self.xs[r, c], self.zs[r, c])]
343-
344-
title_row = fill_row("stable", " destable")
345-
divider = fill_row("", "", mid="+", fillchar='-')
342+
343+
title_row = fill_row('stable', ' destable')
344+
divider = fill_row('', '', mid='+', fill='-')
346345
contents = [
347-
fill_row(left = "{sign} {paulis}".format( # from row i+n
348-
sign='-' if self.rs[i + self.n] else '+',
349-
paulis=''.join([pauli_from_matrix(i+self.n, j) for j in range(self.n)])),
350-
right = " {sign} {paulis}".format( # from row i
351-
sign='-' if self.rs[i] else '+',
352-
paulis=''.join([pauli_from_matrix(i, j) for j in range(self.n)])))
353-
for i in range(self.n)]
346+
fill_row(
347+
left='{sign} {paulis}'.format( # from row i+n
348+
sign='-' if self.rs[i + self.n] else '+',
349+
paulis=''.join([pauli_from_matrix(i + self.n, j) for j in range(self.n)]),
350+
),
351+
right=' {sign} {paulis}'.format( # from row i
352+
sign='-' if self.rs[i] else '+',
353+
paulis=''.join([pauli_from_matrix(i, j) for j in range(self.n)]),
354+
),
355+
)
356+
for i in range(self.n)
357+
]
354358

355359
return '\n'.join([title_row, divider, *contents])
356360

cirq-core/cirq/qis/clifford_tableau_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ def test_repr():
291291

292292
def test_str_full():
293293
import logging
294+
294295
t = cirq.CliffordTableau(num_qubits=1)
295296
expected_str = r"""stable | destable
296297
-------+----------

0 commit comments

Comments
 (0)