- Notifications
You must be signed in to change notification settings - Fork62
Computer Algebra System in Javascript (Typescript)
License
davidedc/Algebrite
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Algebrite is a Javascript (Typescript) library for symbolic mathematics designed to be comprehensible and easily extensible.
varAlgebrite=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"
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!
Please refer tohttp://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 atoString method which converts it into a pretty-print notation.
For a build to run tests:
- make sure npm is installed, then:
npm installbazelisk build algebrite
(bazelisk is the launcher for thebazel build system). The bazel build system tends to be smart and cache things. You can do a thorough clean by:
bazelisk clean; rm -rf ./dist/*
The so called "npm build" does a build for npm and browser:
- make sure npm is installed, then:
npm install(if you didn't run this already)bazelisk build npm- open
index.html
For full tests:
bazelisk test :all
or, if caches get in the way:
bazelisk test :all --cache_test_results=no
please take a look at thecontributing file.
Algebrite starts as an adaptation ofthe EigenMath CAS by George Weigt. Also you might want to check another fork of EigenMath:SMIB by Philippe Billet.
Another CAS of similar nature isSymPy 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.
About
Computer Algebra System in Javascript (Typescript)
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors7
Uh oh!
There was an error while loading.Please reload this page.
