Uses rational numbers to implement precise results for numerical problems. Rational numbers are numbers of the form a/b where a, and b are integers. The goal of this is to give a reasonable way to implement exact arithmatic. This is an improvement over floating point numbers which are inexact by nature.
The eventual goal of the project is to implement rational numbers for use in polynomials, systems of linear equations/matrices, etc. which are to be used for polynomial arithmatic, basic calculus, solving for systems of linear/non-linear equations, plus whatever I think of along the way.
One of the tenets of development I'm using for this is to develop everything from scratch. No import statements aside from other packages in this repository. This might be a dumb tenant to have, but this project is really just to help me learn. Most of this has been done before in many different implementaions, but I hope to give a useable version.
ty to drab3n for calling out when my code was badly written
Factor a polynomial over the rational numbers
Manage overflow, and deal with it gracefully
Arbitrary precision integers
Use concurrency to speed up polynomial operations