public void FlatToMatrix(double[] flat, int start, double[][] matrix) { 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++) { matrix[r][c] = flat[index++]; } } }