code: public static Matrix create(int rows, int cols, Type matrixType) {
          switch (matrixType) {
              case SPARSE_IN_MEMORY:
                  return new YaleSparseMatrix(rows, cols);
              case DENSE_IN_MEMORY:
                  return new ArrayMatrix(rows, cols);
              case DIAGONAL_IN_MEMORY:
                  return new DiagonalMatrix(rows);
              case SPARSE_ON_DISK:
                  //return new SparseOnDiskMatrix(rows, cols);
                  // REMDINER: implement me
                  return new OnDiskMatrix(rows, cols);
              case DENSE_ON_DISK:
                  return new OnDiskMatrix(rows, cols);
          }
          throw new IllegalArgumentException(
                  "Unknown matrix type: " + matrixType);
      }
docs: Creates a new {@code Matrix} based on the provided type, with the
  provided dimensions
  
  @param matrixType the type of matrix to create
  @param rows the number of rows in the matrix
  @param cols the number of columns in the matrix