Факторизація Чолеського має найбільше значення для найкращої стабільності та швидкості, коли ви працюєте з коваріаційною матрицею, оскільки матриця коваріації буде позитивною напіввизначеною симетричною матрицею. Чолеський тут природний. АЛЕ ...
Якщо ви маєте намір обчислити факторинг Чолеського, перш ніж коли-небудь обчислити матрицю коваріації, зробіть собі послугу. Зробіть проблему максимально стійкою, обчисливши QR-факторизацію вашої матриці. (QR-код теж швидкий.) Тобто, якби ви обчислили матрицю коваріації як
C=ATA
де було видалено засоби стовпця, то подивіться, що коли ви формуєте C , він накреслює номер умови. Таким чином , краще , щоб сформувати QR - фактори A , а не в явному вигляді обчислення Холецкого розкладання A T A .ACAATA
A=QR
Оскільки Q є ортогональним,
С= ( Q R )ТQ R= RТQТQ R= RТЯR= RТR
Таким чином , ми отримуємо коефіцієнт Холецкого безпосередньо з QR - розкладу, в формі . Якщо A Q -Менше QR факторизации доступна, це навіть краще , так як вам не потрібно Q . A Q -Менше QR швидка річ , щоб обчислити, так як Q не генерується. Це стає лише послідовністю перетворень домочадців. (Колонка повертається, Q -Менше QR логічно бути ще більш стабільним, за рахунок деякої додаткової роботи , щоб вибрати опорні точки.)RTQQQQQ
Великою чеснотою використання QR тут є те, що він є чисельно стійким при неприємних проблемах. Знову ж таки, це тому, що нам ніколи не довелося формувати коваріаційну матрицю безпосередньо для обчислення коефіцієнта Чолеського. Як тільки ви формуєте добуток , ви квадратуєте номер умови матриці. Ефективно ви втрачаєте інформацію в тих частинах тієї матриці, де спочатку було дуже мало інформації для початку.ATA
Нарешті, як вказує ще одна відповідь, вам навіть не потрібно обчислювати та зберігати обернену, а використовувати її неявно у вигляді зворотних боків на трикутних системах.