Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define all Pauli strings (including rows of parity check matrices) in [X|Z] format #196

Merged
merged 10 commits into from
Jan 18, 2025

Conversation

perlinm
Copy link
Collaborator

@perlinm perlinm commented Jan 18, 2025

On net, this should reduce mental load and confusion. Symplectic inner products between two Pauli strings are now computed with string_a @ qldpc.objects.conjugate_xz(string_b).

Flagging this PR for

  • @jmlarson1 because this may change node labels in Tanner graphs (in which nodes = data or check qubits, and edges are drawn between check qubits and the data qubits they address), and
  • @qodesign because this PR changes something I previously said here (though I have since updated the comment to be consistent with the changes in this PR). When constructing a custom QuditCode, you should now specify stabilizers in [X|Z] form, where the first num_qubits entries of a vector (that represents a stabilizer) specifies its Pauli-X support, and last num_qubits entries of the vector specifies its Pauli-Z support.

@perlinm perlinm merged commit a9b0a28 into main Jan 18, 2025
4 checks passed
@perlinm perlinm deleted the flip-xz branch January 18, 2025 01:04
@jmlarson1
Copy link
Collaborator

Thanks for the heads-up. I'll start from scratch working from main and I'll save any past results for safe-keeping (in case I can't reconstruct them with this new format)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants