Ariadne.jl
Newton Method using Krylov.jl (montoison-orban-2023)[@cite]
API
Ariadne.newton_krylov! — Function
Arguments
F!:F!(res, u, p)solvesres = F(u) = 0u₀: Initial guessp: ParametersM: Length of the output ofF!. Defaults tolength(u₀)
Keyword Arguments
tol_rel: Relative tolerancetol_abs: Absolute tolerancemax_niter: Maximum number of iterationsforcing: Maximum forcing term for inexact Newton. Ifnothingan exact Newton method is used.verbose:Workspace:M:N:krylov_kwargcallback:
Arguments
F!:F!(res, u, p)solvesres = F(u) = 0u: Initial guessp:res: Temporary for residual
Keyword Arguments
tol_rel: Relative tolerancetol_abs: Absolute tolerancemax_niter: Maximum number of iterationsforcing: Maximum forcing term for inexact Newton. Ifnothingan exact Newton method is used.verbose:Workspace:M:N:krylov_kwargcallback:
Ariadne.newton_krylov — Function
newton_krylov(F, u₀::AbstractArray, M::Int = length(u₀); kwargs...)Arguments
F:res = F(u₀, p)solvesres = F(u₀) = 0u₀: Initial guessp: ParametersM: Length of the output ofF. Defaults tolength(u₀).
Keyword Arguments
tol_rel: Relative tolerancetol_abs: Absolute tolerancemax_niter: Maximum number of iterationsforcing: Maximum forcing term for inexact Newton. Ifnothingan exact Newton method is used.verbose:Workspace:M:N:krylov_kwargcallback:
Parameters
Ariadne.Forcing — Type
ForcingImplements forcing for inexact Newton-Krylov. The equation $‖F′(u)d + F(u)‖ <= η * ‖F(u)‖$ gives the inexact Newton termination criterion.
Implemented variants
sourceAriadne.Fixed — Type
Fixed(η = 0.1)sourceAriadne.EisenstatWalker — Type
EisenstatWalker(η_max = 0.999, γ = 0.9)sourceInternal
Ariadne.JacobianOperator — Type
Ariadne.BatchedJacobianOperator — Type
BatchedJacobianOperator{N}source