-
Notifications
You must be signed in to change notification settings - Fork 10
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
The H and E matrices. #1
Comments
Hello, Rui.
For instance, see how they are used in a binary matrix multiplication in https://github.com/Krastanov/neural-decoder/blob/master/neural.py#L37 and https://github.com/Krastanov/neural-decoder/blob/master/neural.py#L43 to calculate the syndrome (stabilizer measurements) and errors (logical operator measurements). Let me know if you have additional questions. |
Hello, Krastanov. Thank you for your answers! Thus after the block diagonalization, H's diagonals are the stabilizer generators. Best, |
The particular code implemented in those lines (toric code) is a CSS code, so the checks contain either only X operations or only Z operations (i.e. H is block-diagonal matrix). |
P.S. It is called "flat" because we are forgetting about the 2D structure of the code and just look at its list of stabilizer generators. "Xflip" because it detects X errors. "Zstab" because X errors cause changes of the Z eigenvalues. |
Hello, Krastanov! Could you show me the formula(in terms of the matrix multiplication) for the calculation of the fractions of e.g. non-trivial stabilizers, based on H and E? H and E can be used to calculate the fractions of all kinds of stabilizers and logic errors,:
def triv_stab(self, y_true, y_pred): Thank you very much! Best, |
|
I see, is H the parity check matrix from the classical linear codes? Any reference talking about this matrix in QECC? Thank you~ Best, |
The Nielsen and Chuang textbook covers this, as well as Preskill's lecture notes. Some other references:
|
The H matrix is indeed the matrix you get if you view the quantum error correcting code as a classical one, by viewing each qubit as two classical bits (one tracking X flips and the other one tracking Z flips). |
Hi Krastanov, in the Toric code, can you explain why in your parity check matrix, for each stabilizer, the vertex/plaquette only looks at 2 qubits and not 4? (all the adjacent/touching ones?) |
Here is the loop that creates the X or Z part of the check matrix: https://github.com/Krastanov/neural-decoder/blob/master/codes.py#L55 - each operator involves 4 columns (4 four assignments inside of the loop). Do you see a mistake somewhere? |
Apologies, you are right! I assumed the transposed representation of H. Thanks for the swift reply, all good! :) |
Hello, Krastanov! What is the H and E in your codes.py ? Is H related to the Hamiltonian of the toric code?
Best,
R.Yang
The text was updated successfully, but these errors were encountered: