abdullahkhalids / qecft

The book A Methods Focused Guide to Quantum Error Correction and Fault-Tolerant Quantum Computation
Other
17 stars 6 forks source link

Implementation of color codes #3

Closed abdullahkhalids closed 1 year ago

abdullahkhalids commented 1 year ago

A future chapter of the book will discuss color codes.

Implement the syndrome measurements for the color code in stac. In particular, we are looking for an implementation of the 2D 4.8.8 color code family (see here)

Please see how standard syndrome measurements are implemented.

This is a good opportunity to use coordinate based addressing of qubits: see last section of this guide. I also wrote a detailed explanation for how to do this for surface codes here.

To complete this issue, please create a .py file in the drafts folder that contains a function _color_codes_syndrome_measurements.

victor-onofre commented 1 year ago

Hi! I will try to solve this issue during the UnitaryHack

abdullahkhalids commented 1 year ago

@victor-onofre Thanks. Should I assign you to this bounty?

victor-onofre commented 1 year ago

Yes, please. At the moment, I'm reading the book and doing the tasks. Thanks!

abdullahkhalids commented 1 year ago

I have assigned you. Good luck. If you have any questions, please feel free to ask here.

victor-onofre commented 1 year ago

I have a couple of questions. The Steane code is the smallest 2D color code, already implemented in stac. In this case, Is the task to create a more general function for color codes? How general does it need to be the function? I'm now reading this paper as a reference. Do you have other references that may help me?

Also, I have checked almost all the book. You have done an amazing job, I love it! I have noticed some typos and small errors. Maybe I can help in that part also once this issue is finished.

Thanks!

abdullahkhalids commented 1 year ago

Is the task to create a more general function for color codes?

We want a way to generate a whole family of color codes. There are many such families.

Lets just do the 2D 4.8.8 color code family for this issue. You can see in your reference paper (Fig 2), that this family of codes with parameters $[[d^2/2 + d - 1/2, 1, d]]$. Our goal is to write a function color_code_488(d), where the distance, d, is an odd integer. For every such d the function should output the syndrome measurement circuit for the corresponding code.

Additional references: a later paper by the same authors, the original paper on color codes, quantum error correction zoo page

But really you don't need many references. You just need to look up the geometry of the 4.8.8 tiling and just go from there.

Also, I have checked almost all the book. You have done an amazing job, I love it! I have noticed some typos and small errors. Maybe I can help in that part also once this issue is finished.

Thank you. Its still work in progress. I do have a long list of typos and errors that I am currently working on fixing.

victor-onofre commented 1 year ago

Great! Now it is more clear. I will continue working on this over the weekend.

Thanks for the help!

abdullahkhalids commented 1 year ago

For the other issue for surface codes, I wrote down this detailed explanation on how to write the circuit.

I think you should take a look at it.

abdullahkhalids commented 1 year ago

@victor-onofre are you still working on this?

victor-onofre commented 1 year ago

Hi @abdullahkhalids, yes I will try to finish this week. Maybe I'm getting too much into the theory. I will post some questions later.

Thanks!

abdullahkhalids commented 1 year ago

This is a fairly difficult task, and more than I anticipated it to be.

Can you tell me where you are stuck, or what are things you can't figure out, so I can help you?

You can also message me on discord at Abdullah Khalid#0684.

victor-onofre commented 1 year ago

I will send you a message on Discord

abdullahkhalids commented 1 year ago

I have sent you the new guide on discord because it won't let me upload ipynb here.

Please note that I am simplifying the issue requirements, and removing the bit about coordinate based addressing as that is too difficult.

Just create the syndrome measurement circuit as explained in the notebook I sent you.

abdullahkhalids commented 1 year ago

Thank you so much for the hard work.