Я использую Matlab (версия R2013b на MacOS 10.13.6) и сталкиваюсь со странной ошибкой памяти. В частности, я ввел следующую последовательность команд

>> A = rand(2);
>> [q,~] = qr(A);
>> eig(q)

Идея состоит в том, чтобы создать случайную унитарную матрицу q, а затем вычислить собственные значения этой матрицы. К сожалению, эта последовательность команд встречается с ошибкой

Error using eig
Out of memory. Type HELP MEMORY for your options.

Что еще более странно, так это то, что многие подобные вычисления не сталкиваются с подобной ошибкой. Например, код

>> A = rand(20);
>> eig(A)

приводит к правильному выводу, нет ошибок памяти, чтобы говорить о. Таким образом, у Matlab, похоже, нет проблем с вычислением собственных значений случайной матрицы 20 x 20, но он останавливается при вычислении собственных значений унитарной матрицы 2 x 2. Что тут происходит?

Я попробовал обычные быстрые исправления: перезагрузил Matlab, перезагрузил компьютер. Я попытался увеличить размер кучи Java в настройках, но у меня все еще есть эта проблема. Я мог бы обновить Matlab, но если есть более быстрое решение, я бы не стал.

Примечание: я не уверен, является ли этот сайт правильным местом для этого вопроса. Если есть лучшее место, чтобы спросить, пожалуйста, дайте мне знать.

0