Документация Engee

Предобуславливание

Многие итерационные решатели могут предоставлять левый и правый предобуславливатели (Pl и Pr, соответственно), чтобы ускорить сходимость или предотвратить застой. Они преобразуют задачу в лучше обусловленную систему , где .

Эти предобуславливатели должны поддерживать следующие операции:

  • ldiv!(y, P, x) вычисляет P \ x в качестве y;

  • ldiv!(P, x) вычисляет P \ x в качестве x;

  • и P \ x.

Если решателю не переданы никакие предобуславливатели, метод по умолчанию будет использовать

Pl = Pr = IterativeSolvers.Identity()

Доступные предобуславливатели

Сам IterativeSolvers.jl не предоставляет никаких других предобуславливателей, кроме Identity(), но рекомендует следующие внешние пакеты:

  • IncompleteLU.jl для неполных LU-разложений (с использованием допуска отбрасываний).

  • IncompleteSelectedInversion.jl для неполных LDLt-разложений.

  • AlgebraicMultigrid.jl для некоторых алгебраических многосеточных (AMG) предобуславливателей.

  • Preconditioners.jl, который заключает в оболочку множество предобуславливателей из других пакетов. Если вы новичок или хотите быстро попробовать разные варианты, вы можете начать именно с них.