Skip to content

Comprehensive univariate polynomial class. All arithmetic performed symbolically. Some advanced features include: Arithmetic of polynomial rings over a finite field, the Tonelli-Shanks algorithm, GCD, exponentiation by squaring, irreducibility checking, modular arithmetic (obviously) and polynomials from roots.

License

Notifications You must be signed in to change notification settings

AdamWhiteHat/Polynomial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

SparsePolynomial

Univariate polynomial class that only tracks non-zero terms.

  • Supports symbolic univariate polynomial arithmetic including:
    • Addition
    • Subtraction
    • Multiplication
    • Division
    • Modulus
    • Exponentiation
    • GCD of polynomials
    • Irreducibility checking
    • Polynomial evaluation by assigning to the invariant (X in this case) a value.
    • Base-m expansion; Given a number and a base, a polynomial will be generated for you.

Note: All arithmetic is done symbolically. That means the result a arithmetic operation on two polynomials, returns another polynomial.

  • Other methods of interest:
    • Eulers Criterion
    • Legendre Symbol and Legendre Symbol Search
    • Tonelli-Shanks
    • Chinese Remainder Theorem

About

Comprehensive univariate polynomial class. All arithmetic performed symbolically. Some advanced features include: Arithmetic of polynomial rings over a finite field, the Tonelli-Shanks algorithm, GCD, exponentiation by squaring, irreducibility checking, modular arithmetic (obviously) and polynomials from roots.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages