Skip to content

Clifford deformation of Error Correcting Codes #504

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

Open
Krastanov opened this issue Jun 6, 2025 · 0 comments
Open

Clifford deformation of Error Correcting Codes #504

Krastanov opened this issue Jun 6, 2025 · 0 comments

Comments

@Krastanov
Copy link
Member

Krastanov commented Jun 6, 2025

From Henry Makhanov, with comments by me inline as quote blocks:

TODO add definition of Clifford deformation

Each stabilizer $S_i$ is transformed as $S_i \mapsto C^\dagger S_i C$, where $C = \bigotimes_i C_i$ is a product of single-qubit Clifford gates.
In ECC, codes such as Surface, Toric, and others are implemented as subtypes of AbstractECC.
These define the structure of the code (e.g., where checks and qubits are placed), and can be converted into a mutable stabilizer object via:

stab = Stabilizer(code) # code <: AbstractECC ⇒ stab <: AbstractStabilizer

I plan to add:
function apply_clifford_deformation!(stab::AbstractStabilizer, local_cliffords::Dict{Int, AbstractSingleQubitOperator})

This applies Clifford gates in-place (e.g., sHadamard, sPhase, etc), using the symbolic system in symbolic_cliffords.jl. The output is the updated stabilizer with transformed generators.

Let's think through an API that can be more composable. For instances, is this easier/better/faster: apply!(state, CliffordDeformation(gate, local_cliffords))? I am NOT sure this is a better way to do it.

Edit:

On further discussion, there was a significant misunderstanding for what this is to be used for. This is about taking a code and changing that code, creating a new code. Probably the most appropriate API here would be to introduce

struct CliffordDeformedCode <: AbstractECC
   code::AbstractECC
   deformations::...
end
@Krastanov Krastanov converted this from a draft issue Jun 6, 2025
@Krastanov Krastanov changed the title Gate application with Clifford deformation Clifford deformation of Error Correcting Codes Jun 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Clifford Deformed Codes
Development

No branches or pull requests

1 participant