---
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"](functions.html) #
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.
[Unit](../datatypes/units.html) #
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.
- [Unit](classes/unit.html)
[Fraction](../datatypes/fractions.html) #
Stores values for a fractional number.
[BigNumber](../datatypes/bignumbers.html) #
Stores values for a arbitrary-precision floating point number.
[Matrix](../datatypes/matrices.html) #
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.
- [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](../datatypes/complex_numbers.html) #
Stores values for a complex number.
[Parser](../expressions/parsing.html) #
The Parser object returned by `math.parser()`.
[Node](expressions/expression_trees.html) #
A node in an expression-tree, which can be used to analyze, manipulate, and evaluate expressions.
`Node` is the base class of all other node classes:
- [AccessorNode](../expressions/expression_trees.md#accessornode)
- [ArrayNode](../expressions/expression_trees.md#arraynode)
- [AssignmentNode](../expressions/expression_trees.md#assignmentnode)
- [BlockNode](../expressions/expression_trees.md#blocknode)
- [ConditionalNode](../expressions/expression_trees.md#conditionalnode)
- [ConstantNode](../expressions/expression_trees.md#constantnode)
- [FunctionAssignmentNode](../expressions/expression_trees.md#functionassignmentnode)
- [FunctionNode](../expressions/expression_trees.md#functionnode)
- [IndexNode](../expressions/expression_trees.md#indexnode)
- [ObjectNode](../expressions/expression_trees.md#objectnode)
- [OperatorNode](../expressions/expression_trees.md#operatornode)
- [ParenthesisNode](../expressions/expression_trees.md#parenthesisnode)
- [RangeNode](../expressions/expression_trees.md#rangenode)
- [SymbolNode](../expressions/expression_trees.md#symbolnode)
- [UpdateNode](../expressions/expression_trees.md#updatenode)