Hilbert.js is a JavaScript library for expression parsing, simplification, and MathML rendering. It was developed for Mathigon.org, an award-winning mathematics education project.
Note: this library is still under development, and not ready for production use.
- Support for functions with subscripts (e.g.
log_a(b)
). - Support for super+subscripts (e.g.
a_n^2
ora^2_n
). - Support for large operators (sum, product and integral).
- Parse ^ operator from right to left (e.g.
2^2^2 == 2^(2^2)
). - Add
evaluate()
,toString()
andtoMathML()
methods for many more special functions. - Write CAS Expression simplification algorithms,
equals()
andsame()
methods. - Write many more tests. Visual tests for MathML.
First, install hilbert.js from NPM using
npm install @mathigon/hilbert --save
Hilbert.js uses ES6 imports. While some browsers and platforms now support this feature, we recommend using a transpiler such as Babel or Rollup. Make sure that you configure your compiler to correctly resolve these imports. For Rollup, we recommend using the rollup-plugin-node-resolve plugin.
Now, simply import all functions and classes you need, using
import { Expression } from '@mathigon/hilbert'
We welcome community contributions: please file any bugs you find or send us pull requests with improvements. You can find out more on Mathigon.io.
Before submitting a pull request, you will need to sign the Mathigon Individual Contributor License Agreement.
Copyright © Mathigon (dev@mathigon.org)
Released under the MIT license