🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

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.

Core Java Script

Documentation

algebrite header

npm version

Algebrite is a Javascript library for symbolic mathematics (technically, CoffeeScript) designed to be comprehensible and easily extensible.

var Algebrite = require('algebrite')  Algebrite.run('x + x') // => "2 x"  Algebrite.factor('10!').toString() // => "2^8 3^4 5^2 7"  Algebrite.eval('integral(x^2)').toString() // => "1/3 x^3"  // composing... Algebrite.integral(Algebrite.eval('x')).toString() // => "1/2 x^2"

Features

Algebrite supports: 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 and much more!

Examples and manual

Please refer to http://algebrite.org/

All the built-in methods in Algebrite are exposed through a javascript interface. Strings are automatically parsed as expressions, numbers are converted into the appropriate representation, and the internal cons objects are returned.

The cons objects have a toString method which converts it into a pretty-print notation.

How to build

For node use:

  1. make sure npm is installed
  2. npm install
  3. npm run build

To debug things, better use the debugger from Chrome, so build for the browser like so:

  1. make sure npm is installed
  2. make sure browserify is installed
  3. npm install
  4. npm run build-for-browser
  5. open index.html

How to test

For full tests:

npm test 

For the subset of tests in run-micro-tests.coffee:

npm run microtest 

Contribute

please take a look at the contributing file.

References

Algebrite starts as an adaptation of the EigenMath CAS by George Weigt. 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.

You May Also Like