Я хотел бы понять более подробно о реализации алгебраических многосеточных методов (AMG). Я читал «Учебник по многосетке», который довольно хорош и объясняет все детали интерполяции, оператора грубой сетки и выбора грубой сетки для AMG. Однако, я думаю, нет ничего лучше, чем играть и читать код.
Итак, я хотел бы спросить, знает ли кто-нибудь какой-нибудь классический пример кода AMG, такой как геометрический многосеточный код FORTRAN, доступный в конце «Многосеточных методов» (SIAM) SF McCormick. Довольно сложно получить качественный и производительный код, такой как BoomerAMG, чтобы узнать больше о методе.
Ответы:
BoomerAMG является частью пакета Hypre , который очень просто приобрести. Гораздо менее сложный код, если вы начинаете смотреть на эти методы, может быть PyAMG .
источник
Я очень рекомендую введение Альфио Боризи в алгебраический многосеточный метод. В приложении А приведен пример кода на Фортране-77.
источник
Существует также пакет ML, который является частью Trilinos. Его репутация так же хороша, как и у BoomerAMG / hypre.
Я полагаю, что новый пакет Trilinos для AMG называется MueLu и должен быть доступен в более поздних выпусках.
Все это с открытым исходным кодом.
источник
Я немного поработал над этой реализацией . Это Питон / Numpy / Scipy. Это не алгебраическая многосетка - вы должны указать свой собственный оператор ограничения. Но если вы заинтересованы в образовательной реализации, я бы хотел получить несколько запросов на добавление такой возможности.
источник