-
Notifications
You must be signed in to change notification settings - Fork 48
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
add check_repr_commutation_relation
to test the CSS orthogonality condition for 2BGA's Group Algebra with a General Group G
#403
Conversation
…ality condition of the 2BGA code
cb8cc64
to
429f21c
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #403 +/- ##
==========================================
+ Coverage 83.08% 84.82% +1.74%
==========================================
Files 70 71 +1
Lines 4410 5120 +710
==========================================
+ Hits 3664 4343 +679
- Misses 746 777 +31 ☔ View full report in Codecov by Sentry. |
@Krastanov, This PR is ready for review. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks useful, thanks! I left a few questions below
src/ecc/ECC.jl
Outdated
@@ -15,7 +15,7 @@ abstract type AbstractECC end | |||
|
|||
export parity_checks, parity_checks_x, parity_checks_z, iscss, | |||
code_n, code_s, code_k, rate, distance, | |||
isdegenerate, faults_matrix, | |||
isdegenerate, faults_matrix, check_repr_commutation_relation, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's not export it for now, just keep it as an internal check
test/test_ecc_base.jl
Outdated
@@ -46,6 +46,7 @@ other_lifted_product_codes = [] | |||
# [[882, 24, d≤24]] code from (B1) in Appendix B of [panteleev2021degenerate](@cite) | |||
l = 63 | |||
GA = group_algebra(GF(2), abelian_group(l)) | |||
@test check_repr_commutation_relation(GA) == true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this check expected to be used anywhere else if merged?
Also, you do not need to do == true
-- the result is already a boolean
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This check will be used by all the tests
PRs. Since we are extending the functionality to a finite general group via group presentation, usually non-abelian, this checks whether this commutation relation holds for such groups.
b68c42a
to
11a0064
Compare
11a0064
to
fb86505
Compare
I have incorporated your suggestions, Thanks! P.S A few misc cleanups were done: removed typo and moved the consistency check to |
check_repr_commutation_relation
to test the CSS orthogonality condition for 2BGA's Group Algebra with a General Group G
thanks, this will be of great use throughout the tests |
This PR implements the CSS orthogonality condition given by left and right representation matrix commutation relation of group algebra of the 2BGA code. This consistency check will be used in the
tests
PRs. This is inspired from insights from @thofma!Given that we are use a rich set of groups in the
tests
PRs , this consistency test will be provide an additional crosscheck.Edit:
Some details from literature
In a group algebra$\mathbb{F}[G]$ , the left $L(a)$ and right $R(b)$ representations of elements commute:
This results from the associativity of multiplication.
The snapshot below talks about this in the following general way: Reference
In an algebra$R$ , the left $\lambda_r$ and right $\rho_r$ regular matrix representations commute:
This follows from the associativity of multiplication in$R$ .