-
Notifications
You must be signed in to change notification settings - Fork 154
Open
Description
While this is algebraically correct, implementations may not be able to provide One and Mul for the same types.
For example, I implemented polynomial quotient rings Poly that implements One, but not Mul because naive polynomial multiplication would be inefficient and require a lot of code (division and extended Euclidean algorithm on polynomials). Instead, multiplication is done efficiently in the Number Theoretic Transform (NTT) domain, which is represented as a different type PolyNtt to ensure mathematical soundness. In this case I have to create my own trait One without the requirement.
TheAwesome98-Real and fogti
Metadata
Metadata
Assignees
Labels
No labels