Як правило, у Multigrid немає перевірки конвергенції?


12

Я щойно прочитав Розділ 3 у "Підручнику з кількох сіток" Бріггса / Хенсона / МакКорміка, посилання .

У тексті йдеться про багаторешіткові цикли, такі як V-цикл, mu-цикл, FMG. Що мені зачепило: у більшості ітеративних процедур перевіряється, чи збігся він до потрібної толерантності / точності, і якщо так, процедура припиняється. Але Бріггс / Хенсон / МакКормік не використовують перевірку конвергенції у представлених схемах. Кількість ітерацій та рекурсій просто закодовано, і треба вірити, що схема сходиться.

Отже, як це робиться в Multigrid як правило? Як правило, кількість ітерацій / рекурсій просто кодована? Я дуже боюся, що я або витрачу багато часу на обчислення, тому що я занадто точний, або, з іншого боку, точність буде в багатьох випадках поганою, коли я виберу меншу кількість ітерацій / рекурсій.


Відсутність відповідей на це питання мене справді дивує. Звичайно, тут є дуже активні користувачі, які мають досить багатогранний досвід у дослідницьких та / або виробничих середовищах?
Дуг Ліпінський

2
Я думаю, що проблема полягає в тому, що в даний час мультирешітка рідко використовується як розв'язувальна сама по собі (я вважаю, через відсутність загальної теорії конвергенції), а скоріше як передумови для більш усталеного ітеративного методу, такого як CG або GMRES. У цьому контексті не потрібно перевіряти конвергенцію для мультисетки, оскільки зовнішня ітерація забезпечує це.
Крістіан Класон

Відповіді:


4

Так, нормально не проводити перевірки конвергенції в MG з кількох причин. По-перше, якщо ви використовуєте різну кількість ітерацій на кожному проході, то оператор MG вже не лінійний, і вам доведеться використовувати щось на зразок FGMRES як прискорювач, який може вмістити нелінійний попередній передумови. По-друге, FMG - це точне рішення (зменшує помилку нижче помилки дискретизації), коли працює, тому перевірка конвергенції вводить дорогу синхронізацію в алгоритм. Ви, як правило, перевіряєте наприкінці лише для перевірки конвергенції.


Чи є у вас джерела для цього? На даний момент ваша відповідь та інша відповідь, що проголосували вище, прямо суперечать одна одній.
Doug Lipinski

1) Книга Саада є найкращим посиланням на використання FGMRES для розміщення зміни попереднього кондиціонера : www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf 2) Я вважаю доказом того, що FMG зменшує помилку нижче помилки дискретизації при досить потужному V-цикл знаходиться у Троттенберзі та Остерлі, але я відтворюю докази у своїй книзі: cse.buffalo.edu/~knepley/classes/caam519/CSBook.pdf
Метт Кнеплі

4

Точно ні. Щоб вибрати один приклад, книга Multigrid має графік на сторінці 53 (мал. 2.10), який показує зменшення залишкової функції, залежно від кількості циклів V або W. Ви б перестали їздити на велосипеді, коли вас влаштовує розмір залишку.

Джерело вашої плутанини може бути через те, що деякі описи описують лише один V-цикл. У деяких обмежених випадках, оскільки багаторешітка - це така потужна методика, це може створити відповідне рішення. Також мультирешітка може бути використана в якості попереднього кондиціонера . У цьому випадку багаторешітка є просто прискорювачем, і перевірка на конвергенцію відбувається на більш високому рівні. Але перевірка завжди повинна десь відбуватися.


1
Чи є у вас джерела для цього? На даний момент ваша відповідь та інша відповідь, що проголосували вище, прямо суперечать одна одній.
Doug Lipinski

1

У мультирешітці, що використовується як розв'язувач , зазвичай відносна норма залишку використовується як критерій зупинки. У міру зменшення цього співвідношення - точність рішення повинна зростати. Крім того, на найгрубішому рівні дослідники роблять різні речі:

  1. або вирішити, використовуючи прямий розв'язувач (без конвергенції)
  2. використовувати фіксовані ітерації (без конвергенції)
  3. використовувати послідовну різницю між ітераціями як критерій конвергенції (не гарний метод, оскільки ви могли бути далеко від рішення)
  4. Знову використовуйте відносну норму залишку як критерій зупинки.

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

Отже, загалом використовується конвергенція .

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