Is there a way to estimate the precision for a calculation?

Hi together,

In this post In which scenario does the decrease in Q result in reduced ring dimension?, I explicitly asked how adjusting Q can achieve a reduced ring dimension. A formula was provided to achieve this by adjusting the ScaleModsize. You can find the parameter values in this table: openfhe-development/src/core/lib/lattice/stdlatticeparms.cpp at v1.1.4 · openfheorg/openfhe-development · GitHub.

Is there also a way to predict the precision for an explicit calculation when, for example, the ScaleModsize is reduced? Thank you in advance.

Another question is that in the post: In which scenario does the decrease in Q result in reduced ring dimension? - #3 by moghit02, it is mentioned that FLEXIBLEAUTOEXT equals 20. What would be the value for other scaling techniques and where is the reference for this?

Is there also a way to predict the precision for an explicit calculation when, for example, the ScaleModsize is reduced? Thank you in advance.

It can be predicted but it is quite tricky. You can use Approximate Homomorphic Encryption with Reduced Approximation Error as a reference. At a high level, if you decrease ScaleModSize by 1, you will typically loose 1 bit precision in the output. Basically the message is encoded as [message] + [least significant noise]. When you decrease the scaling mod size, the noise eats away 1 least significant bit of message noise.

Another question is that in the post: In which scenario does the decrease in Q result in reduced ring dimension? - #3 by moghit02, it is mentioned that FLEXIBLEAUTOEXT equals 20. What would be the value for other scaling techniques and where is the reference for this?

This auxiliary modulus of 20 bits is only used for FLEXIBLEAUTOEXT. It is not used in other modes. Please see the same paper for more information (FLEXIBLEAUTOEXT is labeled as RE-CKKS-DE in the paper).

1 Like