The Matrix library is a collection of object-oriented functions for performing basic linear algebra tasks, such as matrix decomposition and solutions to systems of linear equations, which are fundamental in scientific, engineering, and statistical computations. The functions are based on LAPACK, the Fortran standard for linear algebra for small to medium-sized dense problems. The aim is to provide a consistent and efficient set of S-Plus matrix operations and functions that reflect intuitive notions from linear algebra as much as possible. In the Matrix library, matrices are represented as objects of class "Matrix". There are also several subclasses, for example, "Hermitian", "Orthogonal", and "LowerTriangular". These objects are similar to those created by the S-PLUS function matrix(), but there some differences in the creation and coercion functions, in subsetting and arithmetic operations, and in the results of eigen(), qr(), and svd(). It should not be assumed that objects of class "Matrix" can be used in every S-PLUS function that accepts a matrix as input. In addition to these changes, the Matrix library adds some new capabilities to S-PLUS. There are functions for computing determinants, matrix norms, and condition estimation, as well as the Schur, LU, and symmetric-indefinite decompositions. Solve methods are available for most decompositions, and overdetermined systems can now be handled. A more detailed description can be found in the help files and the S-PLUS Version 3.3 Supplement.