Критерії зупинки ітеративних лінійних розв'язків, застосовані до майже сингулярних систем


16

Ax=bAλ0Arn:=bAxnn vrn/r0<tolnv жити у власній просторі, пов’язаній з малим власним значенням що дає малий залишковий Av = \ lambda_0v A v = λ 0 vλ0Av=λ0vr n/r 0< t o l x n - xr0rn/r0<tolxnx все ще велика. Що в цьому випадку кращий показник помилок? Чихороший кандидат?xnxn1


3
Ви можете подумати над своїм визначенням "майже єдиного". Матриця (з і матрицею ідентичності) має дуже невелике власне значення, але настільки ж далеко не сингулярне, як будь-яка матриця. ϵ 1 IIϵϵ1I
Девід Кетчесон

1
Такожвидається неправильним позначенням. є більш типовим, ні? | | r n | | / | | r 0 | |||rn/r0||||rn||/||r0||
Білл Барт

Так, ти маєш рацію, Білл! Я виправлю цю помилку.
Хуй Чжан

1
А як щодо bAx/b ? і який саме ваш алгоритм?
шухало

2
Додаток: Я вважаю, що наступний документ в значній мірі стосується поганих кондиціонованих систем, про які ви хвилюєтесь, принаймні, якщо ви використовуєте CG: Axelson, Kaporin: Оцінка норми помилок та критерії зупинки в попередньо обумовлених ітераціях спряжених градієнтів. DOI: 10.1002 / nla.244
шухало

Відповіді:


13

Будь ласка, ніколи не використовуйте різницю між послідовними ітераціями для визначення критеріїв зупинки. Це неправильно діагностує застій для конвергенції. Більшість несиметричних ітерацій матриці не є монотонними, і навіть GMRES у точній арифметиці без перезапуску може застоюватися для довільної кількості ітерацій (аж до розмірності матриці), перш ніж раптово сходитися. Дивіться приклади в Nachtigal, Reddy та Trefethen (1993) .

Кращий спосіб визначити конвергенцію

Нас зазвичай цікавить точність нашого рішення більше, ніж розмір залишку. Зокрема, ми хотіли б гарантувати, що різниця між приблизним рішенням та точним рішенням x задовольняє | x n - x | < c для деяких вказаних користувачем c . Виявляється, можна досягти цього, знайшовши x n такий, що | A x n - b | < c ϵ де ϵ - найменше особливе значення A , обумовленеxnx

|xnx|<c
cxn
|Axnb|<cϵ
ϵA

|xnx|=|A1A(xnx)|1ϵ|AxnAx|=1ϵ|Axnb|<1ϵcϵ=c

де ми використали, що є найбільшим сингулярним значенням A - 1 (другий рядок) і що x точно вирішує A x = b1/ϵA1xAx=b (третій рядок).

Оцінка найменшого сингулярного значення ϵ

Точна оцінка найменшого сингулярного значення, як правило, безпосередньо не доступна з проблеми, але вона може бути оцінена як побічний продукт спряженого градієнта або ітерація GMRES. Слід зазначити , що хоча оцінки найбільших власних і сингулярних значень, як правило , досить добре після кількох ітерацій, точна оцінка наімалейшего власним / сингулярних зазвичай виходить тільки один раз збіжність досягнута. Перед конвергенцією оцінка, як правило, буде значно більшою за справжнє значення. Це говорить про те, що ви повинні насправді розв’язати рівняння, перш ніж ви зможете визначити правильну толерантність c ϵ . Толерантність до автоматичної конвергенції, яка забезпечує точність, задану користувачем cϵcϵcдля рішення та оцінки найменшого сингулярного значення при поточному стані методу Крилова може зближуватися занадто рано, оскільки оцінка ϵ була набагато більшою, ніж справжня величина.ϵϵ

Примітки

  1. Вищенаведене обговорення також працює з заміненим лівим попередньо обумовленим оператором P - 1 A і попередньо обумовленим залишковим P - 1 ( A x n - b ) або з правою попередньо обумовленою оператором A P - 1 і помилкою P ( x n - х ) . Якщо Р - 1AP1AP1(Axnb)AP1P(xnx)P1є хорошим попереднім кондиціонером, попередньо обумовлений оператор буде добре кондиціонований. Для лівої попередньої кондиціонування це означає, що попередньо обумовлений залишок може бути невеликим, але справжній залишок може бути не таким. Для правильної попередньої кондиціонування, легко робиться невеликим, але справжня помилка | x n - x | може не бути. Це пояснює, чому ліве попереднє кондиціонування краще робити помилки невеликими, тоді як праве попереднє кондиціонування краще для створення залишків малих (і для налагодження нестабільних попередніх кондиціонерів).|P(xnx)||xnx|
  2. Дивіться цю відповідь для більш детального обговорення норм, зведених GMRES та CG.
  3. Оцінки екстремальних сингулярних значень можна відстежувати за -ksp_monitor_singular_valueдопомогою будь-якої програми PETSc. Див. KSPComputeExtremeSingularValues ​​(), щоб обчислити особливі значення з коду.
  4. Використовуючи GMRES для оцінки сингулярних значень, важливо, щоб перезавантаження не використовувалося (наприклад, -ksp_gmres_restart 1000у PETSc).

1
'' також працює з A, заміненим попередньо обумовленим оператором '' - Однак він застосовується лише до попередньо обумовленого залишкового якщо використовується P - 1 A , відповідно. до попередньо обумовленої помилки P - 1 δ x, якщо використовується A P - 1 . P1rP1AP1δxAP1
Арнольд Ноймаєр

1
Добре, я відредагував свою відповідь. Зауважте, що випадок, що задається правою умовою, дає вам змогу керувати , розкручування попереднього кондиціонера (застосовуючи P - 1 ), як правило, посилює низькоенергетичні режими помилки. PδxP1
Джед Браун

6

Іншим способом розгляду цієї проблеми є розгляд інструментів дискретних зворотних задач, тобто проблем, які передбачають розв’язання або min | | А х - б | | 2, де A дуже погано обумовлений (тобто співвідношення між першим і останнім сингулярним значенням σ 1 / σ n велике).Ax=bmin||Axb||2Aσ1/σn

Тут у нас є кілька методів вибору критерію зупинки, і для ітеративного методу я рекомендував би критерій L-кривої, оскільки він включає лише наявні в наявності кількості (ВІДМОВЛЕННЯ: Мій радник запровадив цей метод, тому я, безумовно, упереджений це). Я успішно використовував це в ітеративному методі.

ρk=||Axkb||2ηk=||xk||2xkk

(ρk,ηk)

abs(log(ηk)log(ηk1)log(ρk)log(ρk1))

Існують також більш детальні методи пошуку кута, і вони працюють краще, але потребують зберігання значної кількості ітерацій. Пограйте з цим трохи. Якщо ви перебуваєте в matlab, ви можете скористатись інструментами «Regularization Tools», який реалізує частину цього (конкретно, застосована функція «кут»).

Зауважимо, що цей підхід особливо підходить для масштабних проблем, оскільки додатковий час, що займається обчисленням, є незначним.


1
Дуже дякую! Отже, в логотипі (rho, eta) сюжет ми починаємо праворуч від кривої L і закінчуємо вгорі L, чи не так? Я просто не знаю принципу, що стоїть за цим критерієм. Чи можете ви пояснити, чому вона завжди поводиться як крива L і чому ми обираємо кут?
Хуй Чжан

Вас вітають :-D. Для ітеративного методу ми починаємо справа і закінчуємося вгорі завжди. Він поводиться як L через шум у проблемі - вертикальна частина відбувається при||Ах-б||2=||е||2, де е - вектор шуму бехаcт=б+е. Для отримання додаткового аналізу див Hansen, PC, & O'Leary, DP (1993). Використання L-кривої в регуляризації дискретних невдалих задач. Журнал SIAM з наукових обчислень, 14. Зауважте, що я щойно зробив невелике оновлення до посади.
ОскарБ

4
@HuiZhang: це не завжди L. Якщо регуляризація неоднозначна, це може бути подвійний L, що призводить до двох кандидатів на рішення, одного з грубими рисами краще вирішити, а іншого з певними деталями краще вирішити. (І звичайно, можуть з’являтися форми морської екомплексу.)
Арнольд Ноймаєр,

Чи застосовується L-крива для проблем, обумовлених умовами, де має бути унікальне рішення? Тобто мене цікавлять проблеми Ax = b, де b відомо "точно", а A майже сингулярний, але технічно неперевернений. Мені здається, що якщо ви використовуєте щось на кшталт GMRES, норма вашої теперішньої здогадки про х не змінюється занадто сильно з часом, особливо після перших, проте багатьох ітерацій. Мені здається, що вертикальна частина L-кривої виникає тому, що в неправильно поставленій задачі немає єдиного / допустимого рішення; чи була б ця вертикальна особливість при всіх недоброзичливих проблемах?
nukeguy

В один момент ви досягнете такої вертикальної лінії, як правило, тому що числові помилки у вашому методі рішення призводять до || Ax-b || не зменшуючись. Однак ви маєте рацію, що в таких проблемах, що не мають шуму, крива не завжди виглядає як L, а це означає, що у вас зазвичай є кілька кутів вибору, а вибір одного над іншим може бути важким. Я вважаю, що у статті, на яку я посилався у своєму коментарі вище, коротко обговорюються безшумні сценарії.
ОскарБ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.