---
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)