From 5951464e03c900e50279127da01d1c5b7b30b32a Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Thu, 17 Aug 2023 00:29:42 +0900 Subject: [PATCH] [documentation] Improve preconditioners.md --- docs/src/factorization-free.md | 2 +- docs/src/preconditioners.md | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/src/factorization-free.md b/docs/src/factorization-free.md index 0bff49d4c..f85456f96 100644 --- a/docs/src/factorization-free.md +++ b/docs/src/factorization-free.md @@ -61,7 +61,7 @@ where * `symmetric` and `hermitian` should be set to `true` or `false`; * `prod(y, v)`, `tprod(y, w)` and `ctprod(u, w)` are called when writing `mul!(y, A, v)`, `mul!(y, transpose(A), w)`, and `mul!(y, A', u)`, respectively. -See the [tutorial](https://juliasmoothoptimizers.github.io/tutorials/introduction-to-linear-operators/) and the detailed [documentation](https://juliasmoothoptimizers.github.io/LinearOperators.jl/dev/) for more information on `LinearOperators.jl`. +See the [tutorial](https://jso.dev/tutorials/introduction-to-linear-operators/) and the detailed [documentation](https://jso.dev/LinearOperators.jl/dev/) for more information on `LinearOperators.jl`. ## Examples diff --git a/docs/src/preconditioners.md b/docs/src/preconditioners.md index fd203dddb..a57c59e4d 100644 --- a/docs/src/preconditioners.md +++ b/docs/src/preconditioners.md @@ -17,7 +17,13 @@ There exist three variants of preconditioning: where $P_{\ell}$ and $P_r$ are square and nonsingular. -In Krylov.jl , we call $P_{\ell}^{-1}$ and $P_r^{-1}$ the preconditioners and we assume that we can apply them with the operation $y \leftarrow P^{-1} * x$. +The left preconditioning preserves the error $x_k - x^{\star}$ whereas the right preconditioning keeps invariant the residual $b - A x_k$. +Two-sided preconditioning is the only variant that allows to preserve the hermicity of a linear system. + +!!! note + Because det$(P^{-1}A - \lambda I)$ = det$(A - \lambda P)$ det$(P^{-1})$ = det$(AP^{-1} - \lambda I)$, the eigenvalues of $P^{-1}A$ and $AP^{-1}$ are identical. If $P = LL^{H}$, $L^{-1}AL^{-H}$ also has the same eigenvalues. + +In Krylov.jl, we call $P_{\ell}^{-1}$ and $P_r^{-1}$ the preconditioners and we assume that we can apply them with the operation $y \leftarrow P^{-1} * x$. It is also common to call $P_{\ell}$ and $P_r$ the preconditioners if the equivalent operation $y \leftarrow P~\backslash~x$ is available. Krylov.jl supports both approaches thanks to the argument `ldiv` of the Krylov solvers.