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

QEC: Extend qtcodes #30

Open
amirebrahimi opened this issue Aug 20, 2021 · 11 comments
Open

QEC: Extend qtcodes #30

amirebrahimi opened this issue Aug 20, 2021 · 11 comments

Comments

@amirebrahimi
Copy link

amirebrahimi commented Aug 20, 2021

Description

The purpose of this project is to take the great work done on qtcodes and extend it to:

  • Add support for rectangular geometry
  • Build topological circuits using qubits of varying code types and sizes
  • Allow for specifying the overall topology of many logical qubits

As a stretch goal, we'd like to:

  • Demonstrate magic state distillation
  • Implement support for twist-based lattice surgery

Mentor/s

James Wootton

Participants

Amir Ebrahimi
Jeffrey Gong
Shantanu Jha

Deliverable

Improvements to the qtcodes project.

@HuangJunye
Copy link
Collaborator

@Phionx would you like to work with @amirebrahimi under the mentorship project to extend your qtcodes project? @quantumjim Would you like to be a mentor if this is an extension of qtcodes?

@quantumjim
Copy link

quantumjim commented Aug 23, 2021 via email

@Phionx
Copy link

Phionx commented Aug 23, 2021

Sure! The more collaborators on qtcodes the better :)
Feel free to explore https://github.com/yaleqc/qtcodes/issues for potential ideas or open issues with new ideas!

@shil-m
Copy link

shil-m commented Aug 27, 2021

My last project was based on designing a surface code for an asymmetric error channel that could correct 2 Z errors and single X errors. I would love to work on this project if it is on similar lines. @amirebrahimi
I am still exploring qtcodes, but I would love to contribute if you ever wish to implement https://arxiv.org/abs/1808.03927 @quantumjim

@HuangJunye HuangJunye added status: matched The project is matched and will not take any more mentees and removed looking for mentor labels Sep 2, 2021
@amirebrahimi amirebrahimi changed the title QEC/mitigation-related project QEC: Extend qtcodes Oct 2, 2021
@HuangJunye HuangJunye removed the status: matched The project is matched and will not take any more mentees label Oct 6, 2021
@HuangJunye
Copy link
Collaborator

@Phionx @amirebrahimi Can you please upload your presentation here by the end of today? Thank you!

@amirebrahimi
Copy link
Author

@HuangJunye - Here's an updated version
#30 QEC Extend qtcodes.pdf

@amirebrahimi
Copy link
Author

amirebrahimi commented Nov 11, 2021

Checkpoint 2:
We have completed extending the library to have rectangular surface code encoding/decoding with yaleqc/qtcodes#58
We have a PR in-flight (yaleqc/qtcodes#53) for allowing different logical qubit types to be used in a circuit together.

Additionally, we removed a previous dependency on pydot for qtcodes and now use matplotlib drawing via retworkx (yaleqc/qtcodes#57)

checkpoint_2_resized

@amirebrahimi
Copy link
Author

for 12/9:
#30 QEC_ Extend qtcodes (Final Report).pdf

@amirebrahimi
Copy link
Author

Here's the "final final":
#30 QEC_ Extend qtcodes (Final Report).pdf

@HuangJunye
Copy link
Collaborator

@amirebrahimi Can you please link the PRs you have done during QAMP here? A quick search showed 6 PRs on the qtcodes repo, but it would be good to have your confirmation: https://github.com/yaleqc/qtcodes/pulls?q=is%3Apr+is%3Aclosed+author%3Aamirebrahimi

@amirebrahimi
Copy link
Author

Sure thing, @HuangJunye.

yaleqc/qtcodes#51 (fixed some tutorial issues)
yaleqc/qtcodes#57 (removed pydot dependency)
yaleqc/qtcodes#58 (added rectangular surface code geometry support)
yaleqc/qtcodes#69 (refactored repetition qubit to be an XXZZ surface code and also added a phase-flip protected version)
yaleqc/qtcodes#72 (consolidated various tests throughout the project to use common code)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment