Значение SVD отличается между Matlab 2011b и 2012b

Я пытаюсь реализовать одну и ту же матрицу F для функции SVD в обеих версиях Matlab. Однако я обнаружил, что знак матрицы U и V из обоих решений противоположен. Могу ли я узнать, какие версии MATLAB дают лучший или более точный ответ? или на самом деле оба ответа верны?

1 ответ

Решение

Разложение матрицы по сингулярному значению определяется только с точностью до знака, поэтому знаки U а также V произвольны, и оба ответа верны. Какие бы знаки ни производил MATLAB, все равно должно быть, что F = U*S*V, так U а также V составляют правильное разложение по сингулярным числам F, (Обратите внимание на "а", а не "на").

Вы не должны полагаться на MATLAB, производящий определенные знаки, и он может варьироваться от версии к версии.

Другие вопросы по тегам