Хотя я понимаю, что для больших матриц может не хватить оперативной памяти.Однако в этом случае значение является относительно небольшим (9999).Значение является двойным (4,0) и, таким образом, содержит, согласно моим ресурсам, 8 байтов данных (за двойное).Таким образом, теоретически, матрица с n = 9999 (n = число от числа столбцов и строк) должна была бы (9999 ^ 2 * 8) байтов в Java (не включая какие-либо накладные расходы), что значительно меньше моего текущего оперативной памяти,даже если там было несколько матриц (2-3).Ошибка возникает при инициализации матрицы A.
Почему происходит ошибка?
int n = 9999;
double[][] matrixA = new double[n][n];
double[][] matrixB = new double[n][n];
// Matrix Multiply uses standard ijk algorithm to multiply matrixA and matrixB
// and returns a 2d double array (matrix)
double[][] matrixC = MatrixMultiply(matrixA, matrixB);