algebra.ts
v0.5.0
Published
Build, display, and solve algebraic equations.
Maintainers
Readme
algebra.ts
Copyright 2024 binary poetry gmbh
algebra.ts lets you build, display and solve algebraic equations in TypeScript
and JavaScript.
Scope
algebra.ts covers the algebra you would otherwise do by hand: exact fraction
arithmetic, expressions in one or more variables, linear, quadratic and cubic
equations, and linear inequations. Answers stay exact, so solving 2x - 3 = 4
gives you 7/2 rather than 3.5, and everything can be rendered as LaTeX. The
library has no runtime dependencies and the minified ES Module is about 58 KB,
which makes it a good fit for the browser and for embedding in teaching
material.
It is deliberately not a computer algebra system. There is no calculus, no matrices, no trigonometric simplification, no LaTeX input and no command line interface.
Quick Start
This section gives a brief example on how to use the library. The library is assumed to be in the same directory as the HTML page containing the snippet. Alternatively you could load the library via a content delivery network (CDN), for example https://cdn.jsdelivr.net/npm/[email protected]/dist/algebra.umd.js.
Please refer to the full documentation for further information and live examples.
Using ES Modules
<script type="module">
import { Expression, Equation } from "./algebra.esm.min.js"
let expr = new Expression("x")
expr = expr.subtract(3)
expr = expr.add("x")
console.log(String(expr)) // 2x - 3
const eq = new Equation(expr, 4)
console.log(String(eq)) // 2x - 3 = 4
const x = eq.solveFor("x")
console.log("x = " + String(x)) // x = 7/2
</script>Using the UMD version
<script src="algebra.umd.min.js"></script>
<script>
let expr = new algebra.Expression("x")
expr = expr.subtract(3)
expr = expr.add("x")
console.log(String(expr)) // 2x - 3
const eq = new algebra.Equation(expr, 4)
console.log(String(eq)) // 2x - 3 = 4
const x = eq.solveFor("x")
console.log("x = " + String(x)) // x = 7/2
</script>Alternatives
If you need something outside the scope above, have a look at the Cortex Compute Engine, which covers far more ground and also ships a command line interface:
npx @cortex-js/compute-engine -e 'Solve(2x - 3 = 4, x)'History
algebra.ts is a fork of
algebra.js created by Nicole
White and you can find the original copyright
and license file in LICENSE_algebra-js.
Contributing
Thanks for your interest in contributing! There are many ways to contribute to this project. Get started by having a look at CONTRIBUTING.md.
Funding
This project is powered by coffee, therefore I would appreciate if you could
thank you!
