Polynomial factorization is one of the fundamental tools of the computer algebra systems. And in symbolic mathematics, it is one of the basic requirement over which other algorithms can be implemented. Currently, SymEngine has the implementation of Univariate Polynomial class, which provides us the basic functionality to add, multiply and subtract two polynomials.

Now, comes the problem of factoring the polynomials and then other modular arithmetics and, gcd and lcm.

Therefore, we need to have a module, which can convert the polynomial into a finite field (or Galois Field), do basic operations of add, mul, div etc. on them and then the algorithms for factorization like:

After doing factorization, we will be able to find roots, which in turn will help us to solve univariate polynomial equations. Then for returning solution, Set are the simplest and most intuitive way. Like in real pen-paper exam, we are supposed to return solutions in form of sets. So, here also, following the way sympy has been adapting to solveset, we should develop a basic infrastructure, over which solveset can be developed.



Nishant Nikhil


  • thilinarmtb
  • sumith1896
  • Ondřej Čertík
  • isuruf