QuantumSavory / QuantumClifford.jl

Clifford circuits, graph states, and other quantum Stabilizer formalism tools.
MIT License
115 stars 46 forks source link

Extending the capabilities of 2BGA codes #396

Open Fe-r-oz opened 1 day ago

Fe-r-oz commented 1 day ago

Extending the capabilities of 2BGA codes

Introduction

With regards to 2BGA code, The PR #356 introduced a basic functionality for 2BGA codes where GroupAlgebra is only a single cyclic group of order l. So, we are only limited to this group algebra: GA = group_algebra(GF(2), abelian_group(l)). However, the 2BGA codes were discovered by Lin and Pryadko in their seminal paper Quantum two-block group algebra codes where they introduced these codes with rich a Group Algebra, incorporating both abelian and non-abelian groups and products (direct/semidirect) of groups.

For researchers deeply involved in researching 2BGA codes, functionalities such as designing very specific group presentations, non-abelian groups, direct products of groups are currently not supported. This is well highlighted in this aforementioned paper, where specific presentations are the key ingredient for construction of Group Algebra of 2BGA with abelian and non-abelian groups.

The goal is to extend the capabilities of 2BGA codes in three verticals:

graph TD
    A[Extend 2BGA Capabilities] --> B[Table 1: Specific Group Presentations ⟨S∣R⟩]
    A --> C[Table 2: Direct Product of Cyclic Groups Cₗ x Cₘ]
    A --> D[Table 3: Direct Product of Dihedral and Cyclic Groups Dₗ x Cₘ]

Objectives

1) Direct Product of Groups $C_l \times C_m$ 2) Specific Group Presentations $\langle S \mid R \rangle$ 3) Non-abelian groups such as Dihedral Group,Symmetric Group, Alternating Groups 4) Direct Product of non-abelian group with Cyclic group, $D_l \times C_m$ 5) Small Groups with Multiplication Table via Free Groups

For correctness, the goal is to reproduce the results (Table 1, Table 2 , Table 3) from the paper and provide researchers in QEC codes access to this crucial functionality. Some of the necessary functionalities are only available in Oscar such as Free Group that enables group presentations for constructing codes for Clifford simulation. These functionalities would facilitate further exploration of these codes by researchers, as the paper by Lin and Pryadko was the first to utilize small groups and group presentations for constructing a rich group algebra.

Implementation

I have mentioned each feature in more detail in respective PRs.

Outcome

Reviewer: Stefan Krastanov

Additional Details

Note: Given the fact that there were quite a few PRs related to this new functionality, the overall goals and objectives may not be immediately clear. Therefore, I've outlined them concisely to ensure progress is tracked and to communicate the purpose of these PRs.

The paper by Lin and Pryadko is the base paper that discovered these codes.

Oscar v1.2.0has not been released yet. It will fix the CI error that 'GAP.jl currently does not support multithreaded garbage collection' as it will update it to GAP.jl 0.11.2 from GAP v0.10.4

I think the functionalities here applies to many types of codes that use Group Algebra, not just 2BGA. This will have to be added in documentation, that these functionalities are not restricted to just this code.

Fe-r-oz commented 1 day ago

Hi, @Krastanov,

I wanted to check with you about a potential Bug Bounty for some recent work. I've been collaborating with @thofma to fully reproduce the results from the Lin and Pryadko paper, extending Group Algebra-based functionality, and building significant new features on top of #356. Tommy’s contributions were invaluable, particularly with the group presentation, and he helped resolve issue #391. Initially, I pursued this to explore the paper and add new functionality, without the intention of turning it into a Bug Bounty.

However, given the scope and impact of this work, I was wondering whether it might qualify for the Quantum Savory Bug Bounty program. It seems like the type of contribution that could be a good fit, though I understand that you're best placed to assess its relevance and whether it aligns with the program.

Additionally, I believe Tommy could quickly address the downgrade and the specific CI errors we've encountered with Oscar. I wanted to explore whether this could also be structured as a Bug Bounty, with shared credit, though I’ll leave the details to your judgment and am happy to accept whatever you decide.

Thank you for your time and guidance, and I look forward to hearing your thoughts.

Best Regards.

Krastanov commented 1 day ago

Indeed, this is a pretty significant contribution, and a very valuable set of tests verifying the consistency of @royess 's work, thank you for looking into it. It will be appropriate to provide a bounty for its completion. It will take me some time to go over the PRs and review them and to write down the exact parameters of the bounty (we will probably need a convenient API for accessing these codes, having some decoder benchmarks, etc, not just having them as examples in the test runner). I will try to write this up over the next week.

@thofma , thank you for the guidance you have provided to Feroz, it is much appreciated.

Fe-r-oz commented 7 hours ago

Indeed. I think that implementing a convenient API, namely twobga_from_fp_group, similar to LPCode(A,B), within a new QuantumCliffordOscarExt would be helpful. The twobga_from_fp_group method would utilize the 2bga method from HeckeExt and further extend its functionalities through group presentations. For example, in the first doctest, the user defines the elements A and B using group_algebra, GA, which are then passed to LPCode(A,B). Similarly, users will be able to define GA based on group presentation for non-abelian/abelian groups, specify the elements a and b, and input them into twobga_from_fp_group.

In addition, QuantumCliffordOscarExt will be helpful in the future, particularly if we need specific methods from Oscar, as we can define those methods within this Ext. It will enable clear differentiation in the functionalities we require from Oscar that are not available in AA, Hecke, or Nemo and should be used exclusively for those purposes.

Please refine and enhance this along with the other requirements during the writing process. Thank you.