Чи має «кофакторна техніка» для перетворення матриці якесь практичне значення?


13

Назва - це питання. Ця методика передбачає використання "матриці кофакторів" або "коригувальної матриці" та дає чіткі формули для компонентів оберненої квадратної матриці. Вручну це зробити не просто для матриці, більшої, ніж, скажімо, . Для матриці потрібно обчислити визначник самої матриці та обчислити детермінанти матриць . Тому я здогадуюсь, що це не так корисно для додатків. Але я хотів би підтвердження.n × n n 2 ( n - 1 ) × ( n - 1 )3×3n×nn2(n1)×(n1)

Я не запитую про теоретичне значення методики доведення теорем про матриці.

Відповіді:


11

Ви маєте рацію - це абсолютно не має практичного значення для обчислень. Навіть якби обчислення визначника було операцією , складність методу була б принаймні O ( n 3 ) і, отже, такою ж складністю, як і ліквідація Гаусса. На практиці обчислення визначника матриці насправді має експоненціальну складність, що робить цей метод абсолютно непридатним.O(n)O(n3)


4
Дві речі, які я хочу додати: Складність Правила Крамера (використовуючи детермінати для обчислення зворотного) - це Що набагато набагато більше, ніж Гауссова Елімінація O ( n 3 ) . Крім того, загалом, ви не хочете обчислювати обернене, якщо абсолютно не потрібно. O(n!)O(n3)
Пол

OTOH, можуть виникнути деякі обставини, коли розширення Лапласа може бути кращим, наприклад, матричні діапазони. Але справді, загалом, розширення Лапласа має Складність. O(n!)
JM

3
O ( n 3 )det(AB)=det(A)det(B)O(n3)

1
Так, ви праві - детермінанту можна обчислити за рахунок розкладання . (Наївний спосіб, показаний у підручниках із використанням рекурсивного розширення, експоненціальний у - складності згаданої Павлом). Але це все ще дає загальну складність для запропонованого алгоритму - набагато більше, ніж гауссова елімінація, якби його використовувати, і навіть більше, ніж ітеративні розв'язувачі. n n ! O ( n 5 )LUnn!O(n5)
Вольфганг Бангерт

1
Правильно. Скорочення рядків - це половина обчислення розкладання . Він знижує до коефіцієнтаІнша половина роботи виконує ті самі операції, починаючи з матриці ідентичності, отримуючи матрицю. Це правда, що ви можете уникнути останнього, якщо все, що вам важливо, є визначальним. А У ЛLUAUL
Вольфганг Бангерт

9

Я йду проти натовпу - матриця коригування насправді дуже корисна для деяких спеціальних програм із невеликими розмірами (наприклад, чотири чи менші), зокрема, коли вам потрібна інверсія матриці, але не хвилюється масштаб.

Два приклади включають обчислення зворотної гомографії та ітерацію коефіцієнта Релея для дуже малих проблем (що крім спрощення використання ад'югата чисельно краще).


Я повністю погоджуюся, є деякі випадки (загалом із малими матрицями), коли це дуже допомагає! (наприклад, для обчислення барицентричних координат у малому симплексі)
BrunoLevy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.