MathArray is a general library of classes for performing mathematical operations on arrays (vectors, matrices, etc) of values. It can operate on any standard 'C' number type plus numbers of complex type. MathArray is implemented using a "class cluster" concept, allowing one to perform mathematical calculations on a number without necessarily being aware of what type (class) of number is being operated on. MathArray knows implicitly what types of operations can be performed on what types of numbers and will automatically cast itself to the correct number type representation to handle the specific operation. Standard operations include addition, scalar and matrix multiplication and logical operations. Mathematical operations in the standard C math library are also supported, as well as user-defined functions. MathArray also does much more. Arrays can be manipulated, transposed and concatenated. One can extract subarrays or include subarrays within larger arrays.