Polynomial Evaluation on BGV #401
Unanswered
Th0masAndy
asked this question in
Q&A
Replies: 1 comment 6 replies
-
Hi @Th0masAndy, thank you for your question and interest in the Lattigo library. I have converted your issue to a discussion, as I believe this is more appropriate (see the README for what issue should be used for). The library already provides a polynomial evaluation algorithm based on the Paterson Stockmeyer with power of two decomposition. So I believe that your re-implementation is to add concurrency, is this correct? |
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I implemented the Paterson Stockmeyer algorithm and get the right result.$x^0,x^1.....x^{15}$ and big steps $x^{16},x^{32},x^{48}..... x^{240}$ and then compute the blocks.
For example, I want to compute a polynomial f(x) of degree 255, fisrt compute small steps
The block 0 is$a_0 x^0+a_1 x^1.....a_{15} x^{15}$ , here $a_i$ is the coeffs$x^{16} (a_{16} + a_{17} x^1 ..... + a_{31}x^{15})$ and $block_i$ is the same$f(x) = block_0 + block_1 .... + block_{15}$ .
the block 1 is
and finally I add these blocks together to get
The result of f(x) is right and it costs 9 multiplications to compute f(x).
I choose param
and I can compute 18 multiplications at most for this param.
I'm supposed to be able to perform 9 multiplications based on f(x) but I found out I can only do 7 multiplications.
Will my algorithm significantly reduce the noise budget?
Beta Was this translation helpful? Give feedback.
All reactions