Skip to content

Add bloq for Binary Polynomial Multiplication #1554

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

Merged
merged 25 commits into from
Feb 14, 2025

Conversation

NoureldinYosri
Copy link
Contributor

@NoureldinYosri NoureldinYosri commented Feb 14, 2025

The bloqs BinaryPolynomialMultiplication and MultiplyPolyByOnePlusXk implement karatsuba's algorithm for binary polynomial multiplication with toffoli count of $n^{\log_2{3}}$. The construction of each recursively calls the other.

These two bloqs are algorithms 3 and 2 from https://arxiv.org/pdf/1910.02849v2 respectively.

In a final PR, I will implement algorithm 4 which implements galois multiplication in GF($2^n$) $\mod m(x)$ where $m(x)$ is an irreducible binary polynomial.

@NoureldinYosri NoureldinYosri changed the title Add bloq for Binary Polyonomial Multiplication Add bloq for Binary Polynomial Multiplication Feb 14, 2025
@NoureldinYosri NoureldinYosri enabled auto-merge (squash) February 14, 2025 19:17
@NoureldinYosri NoureldinYosri merged commit 25d9369 into quantumlib:main Feb 14, 2025
8 checks passed
NoureldinYosri added a commit that referenced this pull request Mar 31, 2025
This is the final PR in the series #1554, #1533, and #1516. These PRs implemented the GF($2^n$) multiplication construction from https://arxiv.org/abs/1910.02849v2 which has a toffoli complexity of $n^{\log_2{3}}$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants