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

[[2ᵐ - 1, 1, 3]] quantum Reed-Muller code #302

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Fe-r-oz
Copy link
Contributor

@Fe-r-oz Fe-r-oz commented Jun 30, 2024

Initial Results

goal: implement most things from the paper as part of testing. I am waiting for RecursiveReedMuller to be reviewed so that I can use it to built these codes.

julia> parity_checks(QuantumReedMuller(4))
+ X_X_X_X_X_X_X_X
+ _XX__XX__XX__XX
+ ___XXXX____XXXX
+ _______XXXXXXXX
+ Z___Z___Z___Z__
+ _Z___Z___Z___Z_
+ __Z___Z___Z___Z
+ ___ZZZZ____ZZZZ
+ ____Z_Z_____Z_Z
+ _____ZZ______ZZ
+ _______ZZZZZZZZ
+ ________Z_Z_Z_Z
+ _________ZZ__ZZ
+ ___________ZZZZ

julia> parity_checks(Steane7())
+ ___XXXX
+ _XX__XX
+ X_X_X_X
+ ___ZZZZ
+ _ZZ__ZZ
+ Z_Z_Z_Z

julia> parity_checks(QuantumReedMuller(3))
+ X_X_X_X
+ _XX__XX
+ ___XXXX
+ Z_Z_Z_Z
+ _ZZ__ZZ
+ ___ZZZZ

julia> canonicalize!(parity_checks(Steane7())) ==  parity_checks(QuantumReedMuller(3))
true

Construction Method Followed from the paper, It looks like

julia> RM13 = generator(RecursiveReedMuller(1, 3));

julia> RM23 = generator(RecursiveReedMuller(3 - 2, 3));

julia> QRM_steane = CSS(RM13[2:end, 2:end], RM23[2:end, 2:end])
CSS(Bool[1 0 … 0 1; 0 1 … 1 1; 0 0 … 1 1], Bool[1 0 … 0 1; 0 1 … 1 1; 0 0 … 1 1])

julia> Steane = Stabilizer(QRM_steane)
+ X_X_X_X
+ _XX__XX
+ ___XXXX
+ Z_Z_Z_Z
+ _ZZ__ZZ
+ ___ZZZZ

Copy link

codecov bot commented Jun 30, 2024

Codecov Report

Attention: Patch coverage is 76.92308% with 9 lines in your changes missing coverage. Please review.

Project coverage is 82.79%. Comparing base (dddaedb) to head (65f8a2c).

Files Patch % Lines
src/ecc/codes/classical/recursivereedmuller.jl 65.21% 8 Missing ⚠️
src/ecc/codes/quantumreedmuller.jl 93.75% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #302      +/-   ##
==========================================
- Coverage   82.85%   82.79%   -0.06%     
==========================================
  Files          60       62       +2     
  Lines        3971     4010      +39     
==========================================
+ Hits         3290     3320      +30     
- Misses        681      690       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Jun 30, 2024

PyMatching Decoder should not be used for QRM codes.

Please check out the decoder graphs for these codes!

BeliefPropDecoder
display

Table Decoder
display

More Samples

display

@Fe-r-oz Fe-r-oz changed the title [[2ᵐ - 1, 1, 3]] quantum Reed-Muller code [[2ᵐ - 1, 1, 3]] quantum Reed-Muller code Jul 22, 2024
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.

None yet

1 participant