qubo-for-self-dual-stabilizer-codes
https://github.com/refatismail96/qubo-for-self-dual-stabilizer-codes
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: scholar.google -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.0%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: RefatIsmail96
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 52.7 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Finding Self-dual Stabilizer code distance using QUBO approach
This Jupyter Notebook constructs a QUBO cost function whose minimization corresponds to finding the Hamming distance of a self-dual Stabilizer code. Solving the minimization problem can be done using classical algorithms like Simulated Annealing (SA) or quantum ones like Quantum Annealing (QA) or using hybrid approaches, ex QBsolv. More details can be found in this paper (link will soon be posted on arxiv) along with an investigation into the efficiency of the three approaches. This code was written in collaboration between Refat Ismail and Ashish Kakkar, while the paper was in collaboration with Anatoly Dymarsky too.
Installation
To install the correct package versions use "environment.txt". Download the file and run
pip install -r "filepath/requirements.txt"
to install.
Working with code
The code constructs the QUBO and solves it using Neal's Simulated Annealing Sampler. It can be easily adjusted to run using other classical, quantum, and hybrid algorithms depending on the user's purpose.
The uploaded program is a minimalist implementation of the code to show the core ideas using code instances from Grassl database. The program constructs the QUBO matrix using the generator matrix "G" of a circulant self-dual code: $$G^T = \left( I{n}|B \right)$$ with B a circulant matrix and $In$ the nxn identity matrix. We introduce auxiliary variables to write the QUBO -see details in the paper (link will be posted soon)-. Our cost function can then be written as: $$\textbf{cost function} = \minz z^T Q z$$ Where z is a list of binary variables consisting of: our original variables $xi$ and the auxiliary variables $y{i,j}$, arranged as $z= [x1,x2,...,xn, \ y{1,1},y{2,1},...,y{n,1}, \ y{1,2},...,y{n,r}]$. The Q matrix will be made of multiple blocks as shown: ```math Q = \begin{bmatrix} I{n}+B^2 -B & 2^0 (I{n}-2B) & 2^1 (I{n}-2B) & \dots & 2^{r-1} (I{n}-2B)\ 2^0 (I{n}-2B) & 2^2 I{n} & 2^3 I{n}& \dots & 2^{r+1} I{n} \ 2^1 (I{n}-2B) & 2^3 I{n} & \ddots & \ddots & 2^{r+2} I{n} \ \vdots & \vdots & \ddots & \ddots & \vdots & \ 2^{r-1} (I{n}-2B) & 2^{r+1} I{n}& 2^{r+2} I{n} & \dots & 2^{2r} I{n} \end{bmatrix} ```
This can be straightforwardly extended to non-circulant and non-self dual codes as well (see the paper for info).
Owner
- Name: Refat Ismail
- Login: RefatIsmail96
- Kind: user
- Repositories: 1
- Profile: https://github.com/RefatIsmail96
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Ismail"
given-names: "Refat"
orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Kakkar"
given-names: "Ashish"
orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Dymarsky"
given-names: "Anatoly"
orcid: "https://orcid.org/0000-0000-0000-0000"
title: "Self-dual Stabilizer code distance using QUBO approach"
version:
doi:
date-released: 2024-04-26
url: "https://github.com/RefatIsmail96/QUBO-for-Self-dual-Stabilizer-codes"
preferred-citation:
type: article
authors:
- family-names: "Ismail"
given-names: "Refat"
orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Kakkar"
given-names: "Ashish"
orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Dymarsky"
given-names: "Anatoly"
orcid: "https://orcid.org/0000-0000-0000-0000"
title: "A quantum annealing approach to minimum distance problem"
version:
doi:
date-released: 2024-04-26
url: "https://arxiv.org/abs/2404.17703"
eprint: 2404.17703
GitHub Events
Total
Last Year
Dependencies
- dimod ==0.12.14
- dwave-neal ==0.6.0
- numpy ==1.25.2