This branch is aimed to provide tools dealing with primitive roots as per #62. Despite the task sounds pretty humble, it required a lot of preparations such that:
New Math.NumberTheory.Powers.Modular module, providing efficient and polymorphic modular exponentiation.
New Math.NumberTheory.Prefactored module, featuring new numeric data type, which stores a number with its factors.
The main module Math.NumberTheory.Moduli.PrimitiveRoot introduces a data type for cyclic groups or residues and routines for search of primitive roots.
This branch is aimed to provide tools dealing with primitive roots as per #62. Despite the task sounds pretty humble, it required a lot of preparations such that:
Math.NumberTheory.Powers.Modular
module, providing efficient and polymorphic modular exponentiation.Math.NumberTheory.Prefactored
module, featuring new numeric data type, which stores a number with its factors.The main module
Math.NumberTheory.Moduli.PrimitiveRoot
introduces a data type for cyclic groups or residues and routines for search of primitive roots.