code: public static Matrix createMatrix(int rowCount, int colCount) {
  		if (rowCount<=0 || colCount<=0) throw new IllegalArgumentException();
  		if (colCount==1)
  			return createVector(rowCount);
  		else if (rowCount==2 && colCount==2)
  			return createMatrix2();
  		else if (rowCount==3 && colCount==3)
  			return createMatrix3();
  		else
  			return new MatrixImpl(rowCount, colCount);
  	}
docs: Creates a new matrix with all elements initialized to 0.
  @param rowCount the number of rows
  @param colCount the number of columns
  @return a new matrix of the specified size
  @throws IllegalArgumentException if either argument is non-positive