LU разложение прямоугольных матриц - PullRequest
1 голос
/ 15 июля 2010

Метод lu пакета Matrix отлично работает для квадратных матриц.Однако я не понимаю, почему существует ограничение square.Как я могу выполнить разложение LU на прямоугольной матрице?

Ответы [ 2 ]

4 голосов
/ 15 июля 2010

Вы можете встроить его в матрицу идентичности:

[ a11 a12 a13 ]
[ a21 a22 a23 ]
[  0   0   1  ]

LU-разложение только для квадратных матриц. Вы можете проверить Википедию для освежения.

3 голосов
/ 15 июля 2010

Неквадратичные матрицы означают разные вещи.

Если в нем больше строк, чем столбцов (больше уравнений, чем неизвестных), это означает, что вам нужно приближение по методу наименьших квадратов.Вы можете предварительно умножить обе стороны на транспонирование A и использовать LU decomp для этого.Результатом является «наилучшее» решение по методу наименьших квадратов.

Если в нем меньше строк, чем столбцов (больше неизвестно, чем уравнений), вам необходимо разложение по сингулярным числам (SVD).Это даст вам лучшее решение и пустое пространство.

...