An extensive math library for JavaScript and Node.js

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser and offers an integrated solution to work with numbers, big numbers, complex numbers, units, and matrices. Powerful and easy to use.

Features

Example

Here some example code demonstrating how to use the library. More examples are available here.

// load math.js and create an instance
var mathjs = require('mathjs'),
    math = mathjs();

// functions and constants
math.round(math.e, 3);            // 2.718
math.atan2(3, -3) / math.pi;      // 0.75
math.log(10000, 10);              // 4
math.sqrt(-4);                    // 2i
math.pow([[-1, 2], [3, 1]], 2);
     // [[7, 0], [0, 7]]

// expressions
math.eval('1.2 * (2 + 4.5)');     // 7.8
math.eval('5.08 cm to inch');     // 2 inch
math.eval('sin(45 deg) ^ 2');     // 0.5
math.eval('9 / 3 + 2i');          // 3 + 2i
math.eval('det([-1, 2; 3, 1])');  // -7

// chained operations
math.select(3)
    .add(4)
    .multiply(2)
    .done(); // 14

Demo

Try the expression parser below.
See Math Notepad for a full application.

loading...
Shortcut keys:
  • Press S to set focus to the input field
  • Press Ctrl+F11 to toggle full screen
  • Enter "clear" to clear history
 

Install or download

Math.js can be installed using npm:

npm install mathjs

Math.js can be downloaded or linked from cdnjs:

Development (version 0.21.0) 693 kB, uncompressed with comments
Production (version 0.21.0) 57 kB, minified and gzipped

Note: The API of math.js is not fully stabilized. Please read what is changed before upgrading to the newest version.

Documentation

License

Math.js is open source and licensed under the Apache 2.0 License

Fork me on GitHub