Skip to content

athingisathing/MathLib

Repository files navigation

MathLib

Homepage - Download - Demonstrations - Documentation

Selenium Test Status Dependency Status

MathLib.js is a JavaScript library for mathematical computations. It can handle circles, complex numbers, expressions, functions, lines, matrices, permutations, points, polynomials, rational numbers, sets, and vectors.

There is a SVG and Canvas renderer for 2D plotting. 3D plotting is supported with Three.js.

Further it can parse Content MathML and write Content MathML, Presentation MathML and LaTeX.

Test Suite

MathLib has an extensive QUnit test suite with more than 1800 tests. Crossbrowser tests are automated with Sauce Labs' Open Sauce.

IE9, Android and Opera don't work with the automated test runner. Their passing of the test suite was confirmed using a manual testing session.

Selenium Test Status

Getting Started

In the browser

Download the production version or the development version.

Alternatively you can use Bower:

bower install MathLib

or npm:

npm install MathLib

Include MathLib in your web page:

<script src="path/to/MathLib.min.js"></script>
<script>
// Your code goes here
</script>

Alternatively you can use the AMD, CommonJS or ES6 modules contained in the build directory.

If you want to use the plotting functionality you also need to download the MathLib.css or the MathLib.min.css file and link to it in the head of your document:

<link rel="stylesheet" href="path/to/MathLib.min.css" charset="utf-8">

Contributing

Building MathLib

Open your Terminal, clone MathLib

git clone git://github.com/alawatthe/MathLib.git

Enter the directory

cd MathLib

and run

npm install

to install the development dependencies (For this you need to have Node.js installed).

The grunt default task

grunt

will concat all the source and test files, convert the TypeScript to JavaScript, create a minified version of the library and run the tests on the minified and unminified libraries.

Making Changes

Make your changes to the files in the src directory. Do not edit the files in the build directory, these files will be generated via grunt.

Please maintain the current coding style and stick to the style guide. New functionality should always be added with proper testing and documentation.

Release History

  • v0.7.0: AMD, CommonJS, ES6 modules
  • v0.6.0: Conics module
  • v0.5.0: removed MathML module and improved Expression module
  • v0.4.0: Typescript, better plotting
  • v0.3.0: grunt integration
  • v0.2.0: Improved function and MathML modules
  • v0.1.0: Initial release

License

Copyright (c) 2013 Alexander Zeilmann
Licensed under the MIT license.

About

JavaScript library for mathematical computations

Resources

License

Stars

Watchers

Forks

Packages

No packages published