class DoubleMatrix implements Matrix, Serializable, ImmutableBean {

  public static DoubleMatrix copyOf(double[][] array) {
    int rows = array.length;
    if (rows == 0 || array[0].length == 0) {
      return EMPTY;
    }
    int columns = array[0].length;
    return new DoubleMatrix(deepClone(array, rows, columns), rows, columns);
  }

    DoubleMatrix(double[][] data, int rows, int columns);
  @ImmutableConstructor private  DoubleMatrix(double[][] array);

}