EvalChebyshevSeries related detial

I am wondering if there are papers related to the implementations in functions EvalChebyshevSeries and EvalChebyshevSeries PS?
What are the differences between the parameters here in openfhe-development/src/pke/include/scheme/ckksrns/ckksrns-fhe.h at b2869aef5cf61afd364b3eaea748dcc8a7020b9c · openfheorg/openfhe-development · GitHub
For Chebyshev series coefficients for the SPARSE case and Chebyshev series coefficients for the OPTIMIZED/uniform case

Thanks in advance!

By taking a quick look, I think those are the coefficients of the modular reduction performed in the bootstrapping procedure.

They are precomputed for performance reasons I guess.

I think that two cases are necessary since by using a secret key based on the SPARSE_TERNARY distribution, the error in computations is lower, therefore an approximation with a smaller degree is used.

In case on UNIFORM_TERNARY, errors are larger, therefore a larger degree is necessary for the Chebyshev approximation of the modular reduction.

This comes from my experience, but I may be wrong :smiley:

Thanks for the reply, yes, these are the one for bootstrapping.
While, I was wondering what paper describes the detailed algorithm under the hood, and why use these parameters rather than others.

The following papers include further details about your questions. Start with (1) to understand CKKS bootstrapping at a conceptual level. Move to 2 for the Chebyshev Series and the Paterson-Stokmeyer (PS) algorithm. Lastly, move to (3) to understand the effect of secret key distribution on CKKS bootstrapping.

  1. https://eprint.iacr.org/2018/153.pdf
  2. https://eprint.iacr.org/2018/1043.pdf
  3. https://eprint.iacr.org/2022/024.pdf
3 Likes

Thank you so much in providing detailed literature!