paulie.application.otoc.otoc_fixed_unitary#

paulie.application.otoc.otoc_fixed_unitary(u, p1, p2, *, check_unitary=True, rtol=1e-08, atol=1e-08)#

Out-of-time-order correlator for a fixed unitary \(U\) and Pauli strings \(P_1\), \(P_2\):

\[\mathrm{OTOC}(U, P_1, P_2) = \frac{1}{2^n}\,\mathrm{Tr}\!\left( U^\dagger P_1 U P_2 U^\dagger P_1 U P_2\right).\]
Parameters:
  • u – Shape (2^n, 2^n) unitary.

  • p1\(P_1\) as an \(n\)-qubit Pauli string.

  • p2\(P_2\) as an \(n\)-qubit Pauli string.

  • check_unitary – If True, verify u is unitary up to rtol / atol.

  • rtol – Relative tolerance for the unitary check.

  • atol – Absolute tolerance for the unitary check.

Returns:

The OTOC value (complex scalar).

Raises:

ValueError – If dimensions mismatch or u is not unitary (when checked).

Note

Same OTOC normalization as in the Pauli instability definition (Eq.~(1), arXiv:2408.01663, Phys. Rev. Research 7, 033271 (2025)): with d=2^n, \(\mathrm{Tr}(\cdots)/d = \mathrm{Tr}\{\cdots\}/2^n\).