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

Better interface/documentation for running ECC pipelines on LDPC codes #305

Open
amicciche opened this issue Jul 4, 2024 · 3 comments
Open

Comments

@amicciche
Copy link
Member

amicciche commented Jul 4, 2024

It's not clear to me how to test performance of an LDPC code without adding the structs and other functions that the implemented codes of QC.jl already have (Steane7, Shor9, and so on).

PyBeliefPropOSDecoder() does not work if you provide it with just a stabilizer tableau.

Regardless, if it is possible in the current state to provide any parity check matrix to QC.jl, to me at least, it is not obvious.

@amicciche amicciche changed the title Better interface/documentation for using running ECC pipelines on LDPC codes Better interface/documentation for running ECC pipelines on LDPC codes Jul 4, 2024
@Krastanov
Copy link
Member

Could you give an example of what you want to plug in? What is the pseudocode for the capabilities that are missing?

@amicciche
Copy link
Member Author

This was my attempted workaround:
image
CircuitCompilation2xn.getGoodLDPC(3) simply returns a stabilizer tableau, as well as the X and Z parity check matrices.
With this workaround, I was getting this error:
image

@Krastanov
Copy link
Member

This error is telling you that you can not define a new method for a function you do not own, unless you are explicit that you want to do so.

Either do import QuantumClifford.ECC: parity_checks before you define the new method or fully qualify the name of the function when you define the new method as function QuantumClifford.ECC.parity_checks(...) ...

Or simply use the already available CSS code constructor (no need to make your own type) where you can just give it two matrices and that is all: http://qc.quantumsavory.org/dev/ECC_API/#QuantumClifford.ECC.CSS

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

No branches or pull requests

2 participants