public void MatrixToFlat(double[][] matrix, double[] flat, int start) { int rows = matrix.Length; int cols = matrix[0].Length; int index = start; for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { flat[index++] = matrix[r][c]; } } }