qat.synthopline.co_diagonalization.codiagonalize_with_architecture

qat.synthopline.co_diagonalization.codiagonalize_with_architecture(tableau: Tableau, backend: int, specs=None)

Given a Clifford operator \(C\) described by its Tableau, returns a Clifford circuit \(A\) such that operators:

\[A^\dagger C Z_i C^\dagger A\]

are diagonal. Moreover returns the new operators (as a table over F2).

Parameters
  • tableau (stim.Tableau) – a stim Tableau object

  • backend (int) – the backend to use for the graph state synthesis. 1 corresponds to a naive synthesis, 2 to a syndrome decoding based synthesis.

  • specs (HardwareSpecs) – optional, some target hardware specs.

Returns

a circuit implementing \(A\) and the table representing the new operators.

Return type

Circuit, np.ndarray