QR-разложение: лучше округлить значение «идентично нулю» до нуля?

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

«Предположим, вы выполняете QR-разложение mxn-матрицы X, используя отражения Хаусхолдера, чтобы решить линейное уравнение Xb = y. На каждой итерации R = Qi*Qi-1*...Q1*X, прогрессируя к верхней треугольной матрице.Если округление с конечной точностью приводит к тому, что значения R, которые по определению должны быть тождественно равными нулю, становятся некоторым ненулевым значением порядка машинного эпсилон, лучше округлить это значение до нуля или оставить так?»

Большое спасибо.


person Mackie Messer    schedule 15.09.2014    source источник
comment
Это полностью зависит от того, что такое «некоторая матричная алгебра», откуда взялись ваши данные и что вы собираетесь делать с результатом. Как задано, невозможно ответить на этот вопрос. Строгий численный анализ редко допускает «один размер подходит всем».   -  person Stephen Canon    schedule 15.09.2014
comment
Спасибо, Стивен. Я надеюсь, что это достаточно ясно, чтобы дать полезный ответ сейчас.   -  person Mackie Messer    schedule 15.09.2014


Ответы (2)


В конкретном случае QR-разложения вы обычно даже не утруждаете себя вычислением элементов матрицы, которые, как вы знаете, будут обнулены отражением Хаусхолдера; с этого момента вы просто считаете их нулями (на самом деле, вы обычно даже не утруждаете себя сохранением нулей, а вместо этого используете это пространство для хранения самого отражения).

person Stephen Canon    schedule 15.09.2014
comment
+1 Помимо того, что этот ответ хорошо стоит сам по себе, он также заполняет пробел в моем. @StephenCanon прав: лучше даже не хранить почти нули. - person thb; 15.09.2014

Этот прекрасный вопрос — лучшее, что я видел за неделю на StackOverflow.

Ответ: Кругом! Основной момент разложения QR заключается именно в том, что рассматриваемые факторы должны быть хорошо обусловлены, что в Q нет крошечных/огромных собственных значений. Когда нет крошечных/огромных собственных значений, округление не повредит.

Какой смысл был бы в QR, если бы он не позволял округлять почти нули до нуля?

person thb    schedule 15.09.2014
comment
Оба полезных ответа. Твой заставил меня задуматься. - person Mackie Messer; 15.09.2014