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