-
Notifications
You must be signed in to change notification settings - Fork 11
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
Given H= (Hx|Hz)
is a GF(2)
quantum parity check matrix, construct S=StabilizerCode(H)
that allows minimum_distance(S)
#27
Comments
StabilizerCode(H)
where H= (Hx|Hz)
is a GF(2)
quantum parity check matrixH= (Hx|Hz)
is a GF(2)
quantum parity check matrix, construct StabilizerCode(H)
.
H= (Hx|Hz)
is a GF(2)
quantum parity check matrix, construct StabilizerCode(H)
. H= (Hx|Hz)
is a GF(2)
quantum parity check matrix, construct S=StabilizerCode(H)
that allows minimum_distance(S)
The typo has been fixed but I saw no reason to update it on dev. What's |
H= (Hx|Hz)
is a GF(2)
quantum parity check matrix, construct S=StabilizerCode(H)
that allows minimum_distance(S)
H= (Hx|Hz)
is a GF(2)
quantum parity check matrix, construct S=StabilizerCode(H)
that allows minimum_distance(S)
|
I'll need to see the actual ones and zeros to debug. Because I don't see this error when I try that function. So perhaps the specific way you define |
Indeed, Sorry for that. I will provide the matrices. But I tried the example from the documentation, it gives me the same error. I compiled the
|
Please find the Matrix, This is the parity check matrix of the
|
Oh I see, you're running this on dev. I started making changes to that constructor yesterday and am continuing today. So the underlying struct no longer matches the constructor call. I'm adding a series of upper and lower bounds on the distance of the code, which will let algorithms know whether or not it converged. With this, we can use any known classical distances to put bounds on, for example, some product constructions. Since these may be tight, a min distance algorithm may immediately find a logical of that wt and not have to compute 10 billion more vectors to conclude it's good. |
There is a BB code constructor somewhere which takes in the polynomials. I'll see if it's been pushed to the public branch and then send you example code on its use later. |
Thank you. In this paper by Bravyi et al: High-threshold and low-overhead fault-tolerant quantum memory, Bravyi found the polynomials A and B using 'numerical search' when implementing BBQLDPC codes. Since Bravyi found the polynomials A and B for the above code constructions by numerical search, it differs from your implementation as it does not uses polynomails from |
I think it falls outside of the intended scope of my package to do numerical searches. Instead, one would do their own numerical search and use the package to construct and verify the correctness of the parameters they find. Our BB interface is more mathematically rigorous:
Note that several other groups have already completed and reported on numerical searches of the BB space, so performing it ourselves is a bit pointless. |
This is wonderful, Thank you. |
I think this issue can be closed now. |
Suppose I have a quantum
CSS
code:(H = Hx|Hz)
whereH
is aBoolean/GF(2)
matrix. Eric noted that I can doS = StabilizerCode(H);
thenminimum_distance(S)
to find the minimum distance. I useNemo
to convert it to the matrix format:H = matrix(GF(2), H).
I passed thisGF(2)
matrix toStabilizerCode
that gave me error:I think this functionality is not implemented yet where user can provide
H
quantum check matrix. I think this issue will help us track progress on this. So, that we can do the followingBTW, the
dev
branch is working, but there is one small typo in/Quantum/types.jl =>GraphStateSubsystemCSS
asdz_dressed
listed twice which causes error. After fixing it, the dev branch compiles without any precompilation delay that was caused byWGLMakie
:As seen below,
dz _dressed
is listed twice in/Quantum/types.jl =>GraphStateSubsystemCSS
The text was updated successfully, but these errors were encountered: