Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Computer Algebra System in Javascript (Typescript)

License

NotificationsYou must be signed in to change notification settings

davidedc/Algebrite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

algebrite header

npm version

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"

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 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.

How to build

For a build to run tests:

  1. make sure npm is installed, then:
  2. npm install
  3. bazelisk 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:

  1. make sure npm is installed, then:
  2. npm install (if you didn't run this already)
  3. bazelisk build npm
  4. openindex.html

How to test

For full tests:

bazelisk test :all

or, if caches get in the way:

bazelisk test :all --cache_test_results=no

Contribute

please take a look at thecontributing file.

References

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.

[8]ページ先頭

©2009-2025 Movatter.jp