Кількість умов формулювання A'A та AA '


9

Показано (Юсеф Саад, Ітеративні методи для розріджених лінійних систем , стор. 260)cond(AA)cond(A)2

Це правда для AA так само?

У випадку, якщо дорівнює з , я спостерігаю, щоAN×MNMcond(AA)cond(AA)

Чи є в цьому випадку середня формулювання в перерахунку на кращим?AA


2
Ви порівнюєте номери умов двох матриць із абсолютно різними розмірами. Без пояснення того, чому, схоже, таке порівняння, ймовірно, не має сенсу. Звичайно, якщо ви можете виконати те, що вам потрібно, використовуючи набагато меншу матрицю, вам слід (навіть якщо кондиціонування було подібним).
Девід Кетчесон

1
Нова відповідь Стефано М нижче є правильною. Будь ласка, прочитайте її та проголосуйте.
Девід Кетчесон

Відповіді:


6

Якщо ARN×M з N<M, тоді

rank(ATA)=rank(AAT)=rank(A)N<M
так що ATARM×M не може бути повноцінним, тобто є одниною.

Відповідно номер умови є κ2(ATA)=. Завдяки арифметиці з обмеженою точністю, якщо обчислити cond(A'A)в matlab, ви отримаєте велику кількість, не Inf.


@OscarB: одиничні значення A просто N, немає такого поняття, як Mодиничне значення! Ваше виведення правильне, але врахуйте, що якщоσi, i=1N є св A, тоді SST=diag(σ12,,σn2), поки STS=diag(σ12,,σn2,0,,0) з MNсліди нулів.
Стефано М

8

Що ж, давайте розберемося, чому ATA має приблизно квадратний номер умови A. Використання SVD-розкладуA=USVT, с URN×N, SRN×M, VRM×M, можемо висловити ATA як

ATA=(USVT)TUSVT=VSTUTUSVT=VSTSVT

До чого ми приходимо, помічаючи це U є ортонормальним, таким, що UTU=I. Далі зазначимо, щоS є діагональною матрицею, такою, що остаточне розкладання ATA можна виразити як VS2VT, с S2 значення STS, отримуючи діагональну матрицю з першими N сингулярними значеннями з Sквадрат у діагоналі. Це означає, що оскільки число умови є співвідношенням першого і останнього особливого значення,cond(A)=s1sN для ARN×M,

cond(ATA)=s12sM2=(s1sM)2=cond(A)2

Тепер ми можемо виконати ту саму вправу AAT:

AAT=USVT(USVT)T=USVTVSTUT=US2UT

Що означає, що ми отримуємо результат cond(AAT)=s12sN2, оскільки S2 тут означає SST, тонка відмінність від позначень вище.

Але зауважте, що тонка різниця! ДляATA, число умови має в знаменнику значення М'-ї однини, а AATмає N-е особливе значення. Це пояснює, чому ви бачите значні відмінності в кількості умови -AAT дійсно буде "кращою умовою", ніж ATA.

І все-таки Девід Кетчесон був правильним - ви порівнюєте числа умов між двома абсолютно різними матрицями. Зокрема, що ви можете досягтиATA не буде тим самим, що ви можете досягти AAT.


Це чудове пояснення! Зараз я чітко бачу різницю. Матриця A використовується для побудови нормальних рівнянь, і з невеликими змінами ви також можете її сформулювати якAA, не класичний AA. Чи можете ви також сказати, чи вигідніше використовувати розв'язувач типу LSQR замість розв’язання звичайних рівнянь? Оскільки LSQR взагалі не вимагає створення цього продукту.
Олександр

Радий, що це мало сенс. Загалом, потрібно враховувати обумовленість проблеми. Але, якщо це не проблема, ви можете використовувати або звичайні рівняння / QR-факторизацію (A) / LSQR, залежно від розміру задачі (серед іншого). Якщо ваша проблема велика або не обумовлена, я б, мабуть, застосував QR-факторизацію, але без більшого знання проблеми, яку ви намагаєтеся вирішити, важко сказати. Я впевнений, що інші, які мають більший досвід, могли б дати більш детальну пораду.
ОскарБ

Сам по собі A обумовлюється погано (з умовою номер 107), щільний і великий. QR - це не варіант. Оскільки це погано обумовлено, я все одно повинен додати деяку регуляризацію. Зараз, здається, простої тихонової регуляризації. Справа в тому, що якщоcond(A)<cond(AAT)<cond(ATA) (для мого випадку с N<M), здається, використання LSQR завжди бажано, оскільки вам не потрібно формувати будь-який продукт. Питання полягає в тому, чи рішення, отримані з нормальними рівняннями та LSQR, однакові?
Олександр

Ну, як я розумію, LSQR забезпечить ідентичне рішення звичайних рівнянь після "нескінченно багато" ітерацій з точною точністю. Однак для неправильно поставлених задач нормальне рішення рівнянь - це не те, що потрібно. Натомість ви хочете використовувати LSQR для ітерації, поки не буде досягнуто напівконвергенції. Однак керувати ітераційними алгоритмами при невдалих задачах - це зовсім інша гра з м'ячем. Крім того, залежно від вартості вашого матричного векторного продукту та кількості необхідних ітерацій (і, таким чином, matvecs), пряме рішення тихонова з бідіагоналізацією може бути кращим.
ОскарБ

Дивовижне пояснення. +1 для вас, сер!
meawoppl

2

Твердження, що condA2condATA(для квадратних матриць) у запитанні та [Редагувати: я неправильно прочитав] у відповіді Артана - це нісенітниця. Контрприклад

A=(ϵ10ϵ),ϵ1

для чого ви можете це легко перевірити condATA=O(ϵ4) поки condA2=O(ϵ2).


Добре, щоб наголосити на цьому A2 і ATA взагалі дуже відрізняються від того, що стосується номерів eigs, svds, cond: але, на мою думку, в цьому питанні йдеться про [cond(A)]2.
Стефано М

@StefanoM Спасибі, схоже, я неправильно прочитав, хоча з обговорення, був не єдиним.
Джед Браун

1

У точній арифметичній умові (A ^ 2) = cond (A'A) = cond (AA '), див. Голуб і Ван Позика, 3-е видання, с70. Це не вірно в арифметиці з плаваючою комою, якщо A майже не вистачає рангу. Найкраще порадити дотримуватися наведених вище рецептів книг при вирішенні найменших квадратних завдань, найбезпечнішим підходом SVD, p257. Замість цього використовуйте \ varepsilon-rank при обчисленні SVD, де \ varepsilon - роздільна здатність ваших матричних даних.


Вибачте, я подивився на Голуба та Ван Позику 3-го видання p. 70, і не вдалося знайти нічого, що створює резервну копію твердження cond (A ^ 2) = cond (A ^ TA) = cond (AA ^ T). Не могли б ви бути більш конкретними щодо вашої посилання?
ОскарБ

Там немає твердження, але ви можете випливати з теореми 2.5.2 та псевдоінверсу, розділ 5.5.4, що cond (AA ') = cond (A'A). Причина, по якій я приймаю псевдоінверс, полягає в тому, що саме це має значення для проблеми з найменшими квадратами. Рівність після cond (A ^ 2) повинна бути \ приблизно, вибачте за друкарський помилок.
Артан

Ні, ця відповідь абсолютно невірна. Дивіться мій зустрічний приклад.
Джед Браун

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