dusk-network / plonk

Pure Rust implementation of the PLONK ZKProof System done by the Dusk team
https://dusk-network.github.io/plonk
Mozilla Public License 2.0
535 stars 148 forks source link

refactor polynomial operations #783

Open ashWhiteHat opened 10 months ago

ashWhiteHat commented 10 months ago

I refactored polynomial operations because it was a little bit of complicated. The reason why I removed interpolate was that I would like to work on removal of Evaluations::domain as follows and interpolate would be the bottleneck of it. https://github.com/dusk-network/plonk/blob/master/src/fft/evaluations.rs#L39

I would appreciate it if you could confirm. Thank you.

ashWhiteHat commented 10 months ago

I also think that we should integrate fft::evaluations.rs and fft::polynomial.rs. Polynomial has two representation Coefficient and Point-Value. fft::evaluations.rs is Point-Value form of Polynomial thus it should be in fft::polynomial.rs. Evaluations::domain is only used for domain equation so we can remove it. Then, fft::evaluations.rs has a few code so we can move it to fft::polynomial.rs.

Polynomial Representation https://web.cecs.pdx.edu/~maier/cs584/Lectures/lect07b-11-MG.pdf