algebrite logo

algebrite

Computer Algebra System in Javascript. view on GitHub

Features
Usage via API or custom scripting
Arbitrary-precision arithmetic
Complex quantities
Simplification
Expansion
Substitution
Symbolic and numeric roots
Units of measurement
Matrices
Derivatives and gradients
Tensors
Integrals, multi-integrals
Computing integrals

Function reference

Sandbox

Credits/links

Intro

Algebrite is a Javascript library for symbolic mathematics (actually, mostly coffeescript resulting in Javascript) keeping the code as simple as possible in order to be comprehensible and easily extensible.

Why Algebrite

Algebrite is...
  • lightweight: made to be simple to comprehend and extend, it only depends on BigInteger.js by Peter Olson.
  • self-contained: doesn't need connection to servers or another "backend" CAS
  • a library: beyond use as an interactive tool, Algebrite can be embedded in your applications and extended with custom functions.
  • free: MIT-Licenced

Features

...these are just some of the features. For an organic view please check the function reference.

Usage via API or custom scripting language

Algebrite comes with its own scripting language, but all functions are also exposed as API for standard JS integration. See function reference for API description.

Arbitrary-precision arithmetic



Fractions


Complex quantities: rectangular and polar


Simplification


Expansion


Substitution


Symbolic and numeric roots

...give it a few seconds


Units of measurement


Matrices


Derivatives and gradients


Tensors


Integrals, multi-integrals


Computing integrals

...give it a few seconds

... calculating them in the exponential domain:
...give it a few seconds

Credits and links

Algebrite is an adaptation of a delightful gem of CAS named EigenMath by George Weigt. Most of his manual applies to Algebrite. See the function reference (adapted from the one compiled by George Weigt for the EigenMath project) for a quick view. Also you might want to check another fork of EigenMath: SMIB by Philippe Billet.

Another CAS of similar nature is SymPy, made in Python.

Three other Javascript CAS are:

  • javascript-cas by Anthony Foster supporting "differentiation, complex numbers, sums, vectors (dot products, cross products, gradient/curl etc)"
  • Coffeequate by Matthew Alger supporting "quadratic and linear equations, simplification of most algebraic expressions, uncertainties propagation, substitutions, variables, constants, and symbolic constants"
  • Algebra.js by Nicole White which among other things can build and solve equations via a "chainable" API.

The sandbox is an adaptation of the javascript-sandbox-console by openexchangerates. The "pentakis dodecahedron" logo is by Felix Koutchinski.