--- layout: default ---

Class Reference #

This page lists all the various class types in Math.js. Every top-level function is listed here and links to its detailed reference to other parts of the documentation.

math #

The "math" namespace contains the entire math.js functionality. All of the mathematical functions are available in the "math" namespace, and allow for inputs of various types. - [Function reference](functions.html) - [Constant reference](constants.html)

Unit #

Stores values for a scalar unit and its postfix. (eg `100 mm` or `100 kg`). Although the `Unit` class contains public functions documented as follows, using the following API directly is *not* recommended. Prefer using the functions in the "math" namespace wherever possible. - [Overview](../datatypes/units.html) - [Class API](classes/unit.html)

Fraction #

Stores values for a fractional number. - [Overview](../datatypes/fractions.html) - [Class API](https://github.com/infusion/Fraction.js/)

BigNumber #

Stores values for a arbitrary-precision floating point number. - [Overview](../datatypes/bignumbers.html) - [Class API](https://mikemcl.github.io/decimal.js/)

Matrix #

Two types of matrix classes are available in math.js, for storage of dense and sparse matrices. Although they contain public functions documented as follows, using the following API directly is *not* recommended. Prefer using the functions in the "math" namespace wherever possible. - [Overview](../datatypes/matrices.html) - [DenseMatrix](classes/densematrix.html) - [SparseMatrix](classes/sparsematrix.html) Classes used internally that may be of use to developers: - [Index](classes/matrixindex.html) - [Range](classes/matrixrange.html) - [ResultSet](classes/matrixrange.html) - [FibonacciHeap](classes/fibonacciheap.html)

Complex #

Stores values for a complex number. - [Overview](../datatypes/complex_numbers.html) - [Class API](https://github.com/infusion/Complex.js/)

Parser #

The Parser object returned by `math.parser()`. - [Overview](../expressions/parsing.html)

Node #

A node in an expression-tree, which can be used to analyze, manipulate, and evaluate expressions. - [Overview](../expressions/expression_trees.html) `Node` is the base class of all other node classes: - [AccessorNode](../expressions/expression_trees.html#accessornode) - [ArrayNode](../expressions/expression_trees.html#arraynode) - [AssignmentNode](../expressions/expression_trees.html#assignmentnode) - [BlockNode](../expressions/expression_trees.html#blocknode) - [ConditionalNode](../expressions/expression_trees.html#conditionalnode) - [ConstantNode](../expressions/expression_trees.html#constantnode) - [FunctionAssignmentNode](../expressions/expression_trees.html#functionassignmentnode) - [FunctionNode](../expressions/expression_trees.html#functionnode) - [IndexNode](../expressions/expression_trees.html#indexnode) - [ObjectNode](../expressions/expression_trees.html#objectnode) - [OperatorNode](../expressions/expression_trees.html#operatornode) - [ParenthesisNode](../expressions/expression_trees.html#parenthesisnode) - [RangeNode](../expressions/expression_trees.html#rangenode) - [SymbolNode](../expressions/expression_trees.html#symbolnode)