It is available on a wide variety of systems, supports a huge range of operations, and features extensive layout and graphical capabilities.

The Mathematica system is comprised of a *kernel*, which does the computation with limited user intended output, that can work over a network, on a more powerful computer, for instance, whilst the *frontend* which comprises of a prettyprinter with a notebook metaphor, can be on any computer and use this external kernel if it so desired.

The frontend system processes input from a user in Mathematica code (see below for an example) and returns the output together with the input each in a cell (as does Maple). Having cells in this way also allows for outlining and sectioning of a document, referred to as a Mathematica notebook. Simple symbolic output can be prettyprinted or be presented back in a similar form to Mathematica code. More complex output such as images and graphs are presented as images in these cells.

Alternatives are the Maple (commercial) and Maxima (free, GPL).

In[1]:= Det[ReplaceAll[Table[i j, {i,0,5}, {j,0,5}],{0->1}]] Out[1]:= 0So the determinant of such a matrix is 0.