Fermat.ts is a powerful mathematics, statistics and geometry library for TypeScript. It contains everything from number theory to random numbers, expression parsing and linear algebra classes. It was developed for Mathigon.org, an award-winning mathematics education project.
- Arithmetic:
nearlyEquals()
,toWord()
,toFraction()
, … - Combinatorics:
factorial()
,binomial()
,permutations()
,subsets()
- Complex numbers:
Complex()
- Cryptography:
caesarCipher()
,vigenereCipher()
,letterFrequency()
- Geometry:
Point()
,Line()
,Polygon()
,Circle()
,Angle()
, as well as methods for geometric properties, projections, intersections and much more - Matrices:
Matrix.product()
,Matrix.determinant()
,Matrix.inverse()
, … - Number theory:
gcd()
,isPrime()
,generatePrime()
,goldbach()
, … - Numeric:
bisect()
,integrate()
- Random:
Random.shuffle()
,Random.binomial()
,Random.normalPDF()
, … - Regression:
Regression.linear()
,Regression.coefficient()
, … - Statistics:
mean()
,variance()
,linearRegression()
, … - Vector:
Vector()
First, install Fermat.ts from NPM using
npm install @mathigon/fermat
We recommend using Fermat.ts together with Rollup, using using the rollup-plugin-node-resolve plugin.
Now, simply import all functions and classes you need, using
import {Complex, gcd} from '@mathigon/fermat'
We welcome community contributions: please file any bugs you find or send us pull requests with improvements. You can find out more on Mathigon.io.
Before submitting a pull request, you will need to sign the Mathigon Individual Contributor License Agreement.
Copyright © Mathigon ([email protected])
Released under the MIT license