private static Matrix operValue(ref Matrix m1, double value, Func<double, double, double> func) { Matrix result = new Matrix(m1.rows_, m1.columns_); for (int i = 0; i < m1.rows_; i++) for (int j = 0; j < m1.columns_; j++) result[i, j] = func(m1[i, j], value); return result; }