1
- # Nonlinear System Solvers
1
+ # [ Nonlinear System Solvers] (( @ id nonlinearsystemsolvers))
2
2
3
3
` solve(prob::NonlinearProblem,alg;kwargs) `
4
4
@@ -13,11 +13,11 @@ This page is solely focused on the methods for nonlinear systems.
13
13
static arrays and thus really well-optimized for small systems, while for large
14
14
systems it can make use of sparsity patterns for sparse automatic differentiation
15
15
and sparse linear solving of very large systems. That said, as a classic Newton
16
- method, it's stability region can be smaller than other methods. ` NLSolveJL ` 's
16
+ method, its stability region can be smaller than other methods. ` NLSolveJL ` 's
17
17
` :trust_region ` method can be a good choice for high stability, along with
18
18
` CMINPACK ` .
19
19
20
- For a system which is very non-stiff (i.e. the condition number of the Jacobian
20
+ For a system which is very non-stiff (i.e., the condition number of the Jacobian
21
21
is small, or the eigenvalues of the Jacobian are within a few orders of magnitude),
22
22
then ` NLSolveJL ` 's ` :anderson ` can be a good choice.
23
23
@@ -34,7 +34,7 @@ These are the core solvers.
34
34
35
35
### SciMLNLSolve.jl
36
36
37
- This is a wrapper package to import solvers from other packages into this interface.
37
+ This is a wrapper package for importing solvers from other packages into this interface.
38
38
Note that these solvers do not come by default, and thus one needs to install
39
39
the package before using these solvers:
40
40
@@ -64,13 +64,13 @@ NLSolveJL(;
64
64
65
65
Choices for methods in ` NLSolveJL ` :
66
66
67
- - ` :fixedpoint ` : fixed point iteration
68
- - ` :anderson ` : Anderson accelerated fixed point iteration
67
+ - ` :fixedpoint ` : Fixed- point iteration
68
+ - ` :anderson ` : Anderson- accelerated fixed- point iteration
69
69
- ` :newton ` : Classical Newton method with an optional line search
70
- - ` :trust_region ` : Trust region Newton method. The default
70
+ - ` :trust_region ` : Trust region Newton method (the default choice)
71
71
72
72
For more information on these arguments, consult the
73
- [ NLsolve.jl documentation] ( https://github.com/JuliaNLSolvers/NLsolve.jl )
73
+ [ NLsolve.jl documentation] ( https://github.com/JuliaNLSolvers/NLsolve.jl ) .
74
74
75
75
### Sundials.jl
76
76
@@ -96,22 +96,22 @@ KINSOL(;
96
96
97
97
The choices for the linear solver are:
98
98
99
- - ` :Dense ` - A dense linear solver.
100
- - ` :Band ` - A solver specialized for banded Jacobians. If used, you must set the
99
+ - ` :Dense ` : A dense linear solver
100
+ - ` :Band ` : A solver specialized for banded Jacobians. If used, you must set the
101
101
position of the upper and lower non-zero diagonals via ` jac_upper ` and
102
102
` jac_lower ` .
103
- - ` :LapackDense ` - A version of the dense linear solver that uses the Julia-provided
103
+ - ` :LapackDense ` : A version of the dense linear solver that uses the Julia-provided
104
104
OpenBLAS-linked LAPACK for multithreaded operations. This will be faster than
105
- ` :Dense ` on larger systems but has noticable overhead on smaller (<100 ODE) systems.
106
- - ` :LapackBand ` - A version of the banded linear solver that uses the Julia-provided
105
+ ` :Dense ` on larger systems but has noticeable overhead on smaller (<100 ODE) systems.
106
+ - ` :LapackBand ` : A version of the banded linear solver that uses the Julia-provided
107
107
OpenBLAS-linked LAPACK for multithreaded operations. This will be faster than
108
- ` :Band ` on larger systems but has noticable overhead on smaller (<100 ODE) systems.
109
- - ` :Diagonal ` - This method is specialized for diagonal Jacobians.
110
- - ` :GMRES ` - A GMRES method. Recommended first choice Krylov method
111
- - ` :BCG ` - A Biconjugate gradient method.
112
- - ` :PCG ` - A preconditioned conjugate gradient method. Only for symmetric
108
+ ` :Band ` on larger systems but has noticeable overhead on smaller (<100 ODE) systems.
109
+ - ` :Diagonal ` : This method is specialized for diagonal Jacobians.
110
+ - ` :GMRES ` : A GMRES method. Recommended first choice Krylov method.
111
+ - ` :BCG ` : A biconjugate gradient method
112
+ - ` :PCG ` : A preconditioned conjugate gradient method. Only for symmetric
113
113
linear systems.
114
- - ` :TFQMR ` - A TFQMR method.
115
- - ` :KLU ` - A sparse factorization method. Requires that the user specifies a
114
+ - ` :TFQMR ` : A TFQMR method.
115
+ - ` :KLU ` : A sparse factorization method. Requires that the user specify a
116
116
Jacobian. The Jacobian must be set as a sparse matrix in the ` ODEProblem `
117
117
type.
0 commit comments