-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add bloq for constant polynomial multiplication modulu in GF(2) #1516
Conversation
…ualtran into gf2_polynomials
|
||
@cached_property | ||
def signature(self) -> 'Signature': | ||
return Signature([Register('g', QBit(), shape=(self.n,))]) |
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.
@tanujkhattar I want to have an
Ops, Me and @NoureldinYosri had a discussion offline on how to modify the PR to have the right signature for galois field arithmetic. Guess I should have left a review and blocked the PR. @NoureldinYosri Can you please open a follow-up PR to accommodate the changes that we discussed offline ? |
@tanujkhattar will do, it is worth mentioning that the disagreement is about the form of the input ... here I use polynomials (array of booleans) ... but the convention that qualtran adopted in the QGF dtype is of representing them as instanstances of |
This PR is the first PR implementing https://arxiv.org/abs/1910.02849v2. specifically this PR implements Algorithm 1:$MULT_{f(x)}$ Which I renamed to MultiplyPolyByConstantMod.
The final construction implements polyomial multiplication in GF(2) with exactly$n^{log_2(3)}$ Toffolis as opposed to the $n^2$ construction we currently have.