public Matrix GetMatrix(int d1, int d2, int n1, int n2) { var rows = n2 - n1 + 1; var cols = d2 - d1 + 1; var m = new double[rows][]; for (int i = 0; i < rows; i++) { m[i] = new double[cols]; for (int j = 0; j < cols; j++) m[i][j] = this[i + n1, j + d1]; } return m; }