Основна ідея мультирешітки - проекція. Я намагаюся думати про це так:
Припустимо, я хочу вирішити PDE з великою точністю, тому я переходжу до дискретизації домену (припустимо, використовуючи метод кінцевих різниць) на дуже тонкій сітці з великою кількістю та великою кількістю очок. Зрештою, я налаштовую свою систему рівнянь і я готовий її вирішити. Я намагаюся використовувати мій улюблений ітеративний вирішувач (jacobi, gauss seidel, градієнт спряжених тощо). Я продовжую чекати більше дня і розумію, що мій комп'ютер все ще намагається обчислити відповідь !!!
Причина, по якій ці ітераційні методи не працюють швидко, полягає в тому, що (як правило), коли ви встановлюєте велику систему рівнянь, як це, сама матриця має власні значення вкрай близькі до 1. Чому це має значення? Оскільки швидкість конвергенції багатьох ітеративних методів обернено пов'язана з найбільшою власною цінністю (див. Посилання Крістіана Класона на багатогранні навчальні слайди Брігга, частина 1, стор. 27). Отже, чим ближче найбільше власне значення до 1, тим повільніше ітераційний метод. (Примітка. Це трохи спрощує речі, але це допомагає мотивувати потребу в мультисеткі).
Очевидно, що проблему завжди швидше вирішити, якщо є менше невідомих (тобто на грубій сітці з меншою кількістю точок сітки). Але ще важливіше, що рішення (або приблизне рішення) на більш грубій сітці - це хороша відправна точка для вирішення проблеми на тоншій сітці. Це ключова ідея більшості (якщо не всіх) багатоядерних методів. Чому це так? Інтуїтивно це має сенс, але існує математично суворий спосіб виправдання цього.
Давайте розглянемо фур'є-режими помилки в ітеративному методі (задля аргументів, скажімо, jacobi або gauss seidel), застосованому до початкової проблеми тонкої сітки. Ми побачимо, що протягом перших кількох ітерацій більшість високочастотних (високо коливальних) помилок видаляється! Це чудово, але є низькочастотна (менш коливальна) помилка, яка все ще залишається і не минає швидко. Насправді, низькочастотна помилка не дозволяє за допомогою стандартного ітеративного методу швидко сходитися.
коли ми вирішуємо проблему на більш грубій сітці (скажімо, ітераційним методом, таким як jacobi або gauss-seidel), ми по суті здатні видаляти помилки нижчої частоти набагато швидше (тобто за меншою кількістю ітерацій), ніж на тонкій сітці . Отже, якщо ми вирішимо задачу грубої сітки, ми маємо рішення, помилки нижчої частоти яких значно зменшилися. Таким чином, це було б корисно як відправна точка для ітеративного методу на тоншій сітці.
Хоча існують різні мультирешітні методи, більшість з них функціонують за допомогою певного варіанту наступного:
- Почніть з проблеми тонкої сітки
- Проектуйте на грубу сітку (також відомий як обмеження )
- Орієнтовний розчин на грубій сітці (використовуючи інший розчинник)
- Проектуйте грубе рішення сітки на більш тонку сітку (також відому як подовження )
- Використовуючи проекцію від 4. як початкову здогадку, розв’яжіть задачу тонкої сітки ітераційним методом.
Для мене найважча частина мультисерединного методу - це проекції між сітками. Підручники Бріггса, запропоновані @ChristianClason, вирішують цю тему набагато краще, ніж я можу.