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

2D Local implementation of Bivariate Bicycle qLDPC codes: Toric Layouts #387

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Fe-r-oz
Copy link
Contributor

@Fe-r-oz Fe-r-oz commented Oct 10, 2024

This PR implements the 2D implementation of Bivariate Bicycle Codes via Toric Layout and Embeddings in ℤ² from the paper: https://arxiv.org/pdf/2404.17676. All these Toric layouts has been tested and cross checked with the original implementation. Some details are presented here: #352 (comment). The original python implementation is quite slow and causes many allocations. I have used sparse arrays and optimized using sparse matrices which causes almost 0 allocations and speed-up in run-time as well.

I think these low-hanging fruits from the paper will be useful in circuit simulation of these codes, but I have not familiar with those part of the paper yet.

Toric Layouts: (Lemma 4, Page 16)
The paper has not tried plotting these Toric Layouts. They only plotted the Embedding in ℤ² (the second graph). But I think, we can also plot the Toric Layouts as following:
Code instance: BivariateBicycle(15,3 ,[9 ,1 ,2] , [0 ,2 ,7])
Screenshot_select-area_20241010094002

Code instance: BivariateBicycle(12,12, [3 ,2 ,7] ,[3 ,1 ,2 ])
Screenshot_select-area_20241010094805

Embeddings in ℤ²
Towards the end, we will be able to Plot the Embeddings of these codes in 2D. Probably, this will be divided into smaller PR so each PR is well documented and tested separately.

my_plot11

  • The code is properly formatted and commented.
  • Substantial new functionality is documented within the docs.
  • All new functionality is tested.
  • All of the automated tests on github pass.

@Fe-r-oz Fe-r-oz force-pushed the 2dimpl branch 2 times, most recently from 481f9b8 to f254f52 Compare October 10, 2024 03:23
@Fe-r-oz Fe-r-oz marked this pull request as ready for review October 10, 2024 04:43
@Fe-r-oz Fe-r-oz changed the title 2D implementation of Bivariate Bicycle qLDPC codes: Toric Layouts 2D Local implementation of Bivariate Bicycle qLDPC codes: Toric Layouts Oct 10, 2024
Copy link

codecov bot commented Oct 10, 2024

Codecov Report

Attention: Patch coverage is 98.43750% with 1 line in your changes missing coverage. Please review.

Project coverage is 83.25%. Comparing base (2b8e81f) to head (abb66ae).

Files with missing lines Patch % Lines
src/ecc/bivariate_toric_layout.jl 98.43% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #387      +/-   ##
==========================================
+ Coverage   83.03%   83.25%   +0.22%     
==========================================
  Files          70       71       +1     
  Lines        4404     4468      +64     
==========================================
+ Hits         3657     3720      +63     
- Misses        747      748       +1     

☔ 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 Oct 10, 2024

The PR is ready for review, @Krastanov. Thank you.

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.

1 participant