function Matrix() {
    if (!(this instanceof Matrix)) {
      throw new SyntaxError('Constructor must be called with the new operator');
    }
  }
@constructor Matrix

A Matrix is a wrapper around an Array. A matrix can hold a multi dimensional
array. A matrix can be constructed as:

    let matrix = math.matrix(data)

Matrix contains the functions to resize, get and set values, get the size,
clone the matrix and to convert the matrix to a vector, array, or scalar.
Furthermore, one can iterate over the matrix using map and forEach.
The internal Array of the Matrix can be accessed using the function valueOf.

Example usage:

    let matrix = math.matrix([[1, 2], [3, 4]])
    matix.size()              // [2, 2]
    matrix.resize([3, 2], 5)
    matrix.valueOf()          // [[1, 2], [3, 4], [5, 5]]
    matrix.subset([1,2])       // 3 (indexes are zero-based)