diff --git a/chapter4/solvers.ipynb b/chapter4/solvers.ipynb index 49eb5937..57af23d5 100644 --- a/chapter4/solvers.ipynb +++ b/chapter4/solvers.ipynb @@ -207,7 +207,7 @@ "\n", "For large problems, we instead need to use an iterative method which are faster and require less memory.\n", "## Choosing a linear solver and preconditioner\n", - "As the Poisson equation results in a symmetric, positive definite system matrix, the optimal Krylov solver is the conjugate gradient (Lagrange) method. The default preconditioner is the incomplete LU factorization (ILU), which is a popular and robous overall preconditioner. We can change the preconditioner by setting `\"pc_type\"` to some of the other preconditioners in petsc, which you can find in the [PETSc documentation](https://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html).\n", + "As the Poisson equation results in a symmetric, positive definite system matrix, the optimal Krylov solver is the conjugate gradient (Lagrange) method. The default preconditioner is the incomplete LU factorization (ILU), which is a popular and robous overall preconditioner. We can change the preconditioner by setting `\"pc_type\"` to some of the other preconditioners in petsc, which you can find in at [PETSc KSP solvers](https://petsc.org/release/manual/ksp/#tab-kspdefaults) and [PETSc preconditioners](https://petsc.org/release/manual/ksp/#tab-pcdefaults).\n", "You can set any opition in `PETSc` through the `petsc_options` input, such as the absolute tolerance (`\"ksp_atol\"`), relative tolerance (`\"ksp_rtol\"`) and maximum number of iterations (`\"ksp_max_it\"`)." ] }, diff --git a/chapter4/solvers.py b/chapter4/solvers.py index 8b7deb0a..6553c4ea 100644 --- a/chapter4/solvers.py +++ b/chapter4/solvers.py @@ -6,7 +6,7 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.7 +# jupytext_version: 1.15.2 # kernelspec: # display_name: Python 3 (ipykernel) # language: python @@ -89,7 +89,7 @@ def u_ex(mod): # # For large problems, we instead need to use an iterative method which are faster and require less memory. # ## Choosing a linear solver and preconditioner -# As the Poisson equation results in a symmetric, positive definite system matrix, the optimal Krylov solver is the conjugate gradient (Lagrange) method. The default preconditioner is the incomplete LU factorization (ILU), which is a popular and robous overall preconditioner. We can change the preconditioner by setting `"pc_type"` to some of the other preconditioners in petsc, which you can find in the [PETSc documentation](https://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html). +# As the Poisson equation results in a symmetric, positive definite system matrix, the optimal Krylov solver is the conjugate gradient (Lagrange) method. The default preconditioner is the incomplete LU factorization (ILU), which is a popular and robous overall preconditioner. We can change the preconditioner by setting `"pc_type"` to some of the other preconditioners in petsc, which you can find in at [PETSc KSP solvers](https://petsc.org/release/manual/ksp/#tab-kspdefaults) and [PETSc preconditioners](https://petsc.org/release/manual/ksp/#tab-pcdefaults). # You can set any opition in `PETSc` through the `petsc_options` input, such as the absolute tolerance (`"ksp_atol"`), relative tolerance (`"ksp_rtol"`) and maximum number of iterations (`"ksp_max_it"`). cg_problem = LinearProblem(a, L, bcs=bcs,