Skip to content

wlcsm/nPoly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nPoly - Algebraic polynomials

A general polynomial library for the Rust programming language. Focusing on polynomial multiplication algorithms for arbitrary algebras. This library served as the basis for a talk given at Maple Conf 2020 "Rust for developing Fast, Parallelized Computer Algebra Systems"

Currently includes the following features:

  • Polynomial addition
  • Naive polynomial multiplication
  • Karatsuba Multiplication
  • FFT Multiplication
  • F4 algorithm for reducing a polynomial ideal to a Gröbner basis
  • Encoding/decoding polynomials as a human readable string

The following algebraic structures are supported:

  • Polynomial rings, including quotient rings and over multiple variables.
  • Polynomial ideals

Which are both supported over the real numbers, complex numbers, integers, and finite fields.

These operations are mostly supported on a dense polynomial representation but some operation are also supported on an experimental sparse polynomial representation.

About

A general polynomial library in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages