o2edu / hilbert.js

JavaScript expression parsing, MathML rendering and CAS.

Home Page:https://mathigon.io/hilbert

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hilbert.js

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.

npm npm

Open Issues

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 or a^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() and toMathML() methods for many more special functions.
  • Write CAS Expression simplification algorithms, equals() and same() methods.
  • Write many more tests. Visual tests for MathML.

Usage

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'

Contributing

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 and License

Copyright © Mathigon (dev@mathigon.org)
Released under the MIT license

About

JavaScript expression parsing, MathML rendering and CAS.

https://mathigon.io/hilbert

License:MIT License


Languages

Language:JavaScript 100.0%