Jos explains the motivation behind the project –
I hope math.js will help making maths in application development trivial and more fun, and helps bridging the gap between the the world of developers and the academic world.
Math.js can be used in three ways –
math.add(2, 3); // 5 math.sqrt(-4); // 2i math.pow([[-1, 2], [3, 1]], 2); // [[7, 0], [0, 7]]
Evaluate string expressions
math.eval('1.2 * (2 + 4.5)'); //7.8 math.eval('5.08 cm to inch'); //2 inch
Using chaining operations
math.select(3) .add(4) .multiply(2) .done(); //14
Jos is hoping to reach the first stable version 1.0 within a couple of months.
What's left before 1.0 is writing a reference documentation, reaching 100% code coverage with the unit tests and resolving some rough edges here and there.
1.0 will also see the API getting stabilized, after which the focus might shift to optimization. Jos identifies several possibilities such as using typed arrays, parallelization, asm.js for potential performance improvements.
There are already several end-user projects using math.js. Jos’s own project, mathnotepad is powered by math.js and in early stages of development. Math.js is also used by numerics, a popular calculator project.
To get started with Math.js, head over to the documentation.