Function lbcrypto::GetHermiteTrigCoefficients

Function Documentation

std::vector<std::complex<double>> lbcrypto::GetHermiteTrigCoefficients(std::function<int64_t(int64_t)> func, uint32_t p, size_t order, double scale)

Method for calculating the intermediate Hermite trigonometric interpolation coefficients for an input function. These coefficents can be input into EvalPoly over ciphertexts encrypting exp(2*Pi*x) to evaluate the function. The coefficients are divided by 2 to account for the fact that the real part of the output of EvalPoly needs to be taken in order to get the Hermite Trigonometric Interpolation result.

Parameters
  • func – is the function to be approximated

  • p – number of interpolation points

  • order – order of the Hermite interpolation (1 or 2)

  • scale – scaling factor the coefficients are divided by

Returns

the coefficients of the intermediate Hermite trigonometric interpolation.