-
Notifications
You must be signed in to change notification settings - Fork 172
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
CKKS params Issue - squeezing multiplication issue #316
Comments
Yes, this is correct.
It means that you perform two multiplications and rescale only once. For the example above, you have an input scale of 30 bits and the next level in the chain is a modulus of ~60 bits. So after the two multiplications, the scale is ~90 bits and the rescale brings it back to ~30 bits. The point is that this is faster than having a chain of ~30 bits moduli and rescaling after every multiplication. |
Hi, And then the next modulus is 60bits, so 90-60=30bits (this is the broght back bits) BR |
Yes. This is what I meant in my previous message. |
This is because you want the scale to match the powers of x for each of the products. |
Hi,
Is there any error here? https://github.com/tuneinsight/lattigo/tree/master/ckks
we pre-multiply the plaintext by d^(1/5) and evaluate a + b/(d^(1/5))x + c/(d^(3/5)) + x^5
should be
we pre-multiply the plaintext by d^(-1/5) and evaluate a + b/(d^(1/5))x + c/(d^(3/5))x^3 + x^5
And when evaluating a + b/(d^(1/5))x + c/(d^(3/5))x^3 + x^5 , why could it be faster when using
The action of squeezing two multiplications in a single level, what does it actually do?
Does it mean regarding (x*x) * x as a entire one action although it uses two multiplication?
BR
The text was updated successfully, but these errors were encountered: