All Projects → davidedc → Algebrite

davidedc / Algebrite

Licence: mit
Computer Algebra System in Javascript (Coffeescript)

Programming Languages

javascript
184084 projects - #8 most used programming language
coffeescript
4710 projects

Projects that are alternatives of or similar to Algebrite

Algebra Latex
Parse and calculate latex formatted math
Stars: ✭ 20 (-97.5%)
Mutual labels:  algebra, cas
piranha
The Piranha computer algebra system.
Stars: ✭ 91 (-88.62%)
Mutual labels:  computer-algebra, cas
Numbas
A completely browser-based e-assessment/e-learning system, with an emphasis on mathematics
Stars: ✭ 144 (-82%)
Mutual labels:  algebra, computer-algebra
Domains
A computational algebra system in Smalltalk.
Stars: ✭ 124 (-84.5%)
Mutual labels:  computer-algebra, cas
Angourimath
Open-source symbolic algebra library for C# and F#. One of the most powerful in .NET
Stars: ✭ 266 (-66.75%)
Mutual labels:  algebra, computer-algebra
Reduce.jl
Symbolic parser generator for Julia language expressions using REDUCE algebra term rewriter
Stars: ✭ 172 (-78.5%)
Mutual labels:  algebra, computer-algebra
Symja android library
☕️ Symja - computer algebra language & symbolic math library. A collection of popular algorithms implemented in pure Java.
Stars: ✭ 170 (-78.75%)
Mutual labels:  algebra, computer-algebra
racket-cas
Simple computer algebra system
Stars: ✭ 58 (-92.75%)
Mutual labels:  algebra, cas
obake
A C++20 library for the symbolic manipulation of sparse polynomials & co.
Stars: ✭ 16 (-98%)
Mutual labels:  computer-algebra, cas
rascas
Computer Algebra System for Racket
Stars: ✭ 20 (-97.5%)
Mutual labels:  computer-algebra, cas
Gap
Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
Stars: ✭ 447 (-44.12%)
Mutual labels:  algebra, computer-algebra
Grassmann.jl
⟨Leibniz-Grassmann-Clifford⟩ differential geometric algebra / multivector simplicial complex
Stars: ✭ 289 (-63.87%)
Mutual labels:  algebra, computer-algebra
Expreduce
An experimental computer algebra system written in Go
Stars: ✭ 318 (-60.25%)
Mutual labels:  computer-algebra, cas
Kotlingrad
Shape-Safe Symbolic Differentiation with Algebraic Data Types
Stars: ✭ 388 (-51.5%)
Mutual labels:  computer-algebra
Modelingtoolkit.jl
A modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations
Stars: ✭ 540 (-32.5%)
Mutual labels:  computer-algebra
Highdsa
2018年本科毕设项目,已更新所有开发和部署文档。基于Dubbo、SSM、Shiro、ELK、ActiveMQ、Redis等实现的一套高可用、高性能、高可扩展的分布式系统架构,实现可支持业务的基础公共服务,API使用Restful风格对外暴露。已经实现的包括:发送邮件服务、FastDFS文件存储服务、ELK实时日志查询服务、Redis缓存服务、Mybatis数据库、阿里短信推送、Goeasy消息推送、Druid监控、ActiveMQ消息队列、shiro权限认证、cas单点登录、权限配置web系统、移动端后台系统。持续更新中......
Stars: ✭ 385 (-51.87%)
Mutual labels:  cas
Play Pac4j
Security library for Play framework 2 in Java and Scala: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 375 (-53.12%)
Mutual labels:  cas
Symengine
SymEngine is a fast symbolic manipulation library, written in C++
Stars: ✭ 703 (-12.12%)
Mutual labels:  computer-algebra
Ncalc
Power calculator for Android. Solve some problem algebra and calculus.
Stars: ✭ 512 (-36%)
Mutual labels:  algebra
Algebra
Experimental project to lay out basic algebra type classes
Stars: ✭ 377 (-52.88%)
Mutual labels:  algebra
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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].