add readme
This commit is contained in:
parent
6d74fdb5e3
commit
faa58bb4dc
|
|
@ -0,0 +1,36 @@
|
||||||
|
# mathtools
|
||||||
|
mathtools is a program for computing various mathematical results that would be
|
||||||
|
tedious to compute by hand.
|
||||||
|
|
||||||
|
## Why?
|
||||||
|
Obviously, libraries, software packages, and websites exist for these sort of
|
||||||
|
calculations, but there are tradeoffs with any approach. Rather than needing to
|
||||||
|
write a script, use a REPL, or load a webpage, this allows for an approach more
|
||||||
|
like standard CLI utilities such as [GNU
|
||||||
|
factor](https://www.gnu.org/software/coreutils/factor).
|
||||||
|
|
||||||
|
Generally, I've opted to implement routines for problems that are best solved
|
||||||
|
with *algorithms*, rather than *formulas*. For instance, the quadratic formula,
|
||||||
|
while useful, is basically plug and chug, and thus isn't implemented here. On
|
||||||
|
the other hand, determining whether a number is prime is a little more tedious
|
||||||
|
to do by hand, so it's provided as a routine.
|
||||||
|
|
||||||
|
## Available routines
|
||||||
|
Available routines include:
|
||||||
|
* convergents of a periodic continued fraction
|
||||||
|
* solving systems of linear congruences with the Chinese remainder theorem
|
||||||
|
* discrete logarithm
|
||||||
|
* greatest common divisor
|
||||||
|
* primality testing
|
||||||
|
* Jacobi symbol
|
||||||
|
* modular inverse
|
||||||
|
* modular square root
|
||||||
|
* multiplicative order
|
||||||
|
* integer partitions
|
||||||
|
* solving Pell equations
|
||||||
|
* primitive root modulo n
|
||||||
|
* area of a simple polygon from vertex coordinates
|
||||||
|
* sieves for totient function, divisor function, Mobius function, and more
|
||||||
|
* repetend of the continued fraction of a square root
|
||||||
|
* Stirling numbers
|
||||||
|
* summatory functions
|
||||||
Loading…
Reference in New Issue