Interface for Predictor / Corrector

Here is a description of the interface that is used to specify predictor / corrector for continuation methods. The type must be a subtype of the abstract type AbstractTangentPredictor.

In the table below, we assume it::AbstractContinuationIterable and M = BorderedArray

Required methodsBrief description
getPredictor!(z_pred::M, z_old::M, τ::M, ds, pred::AbstractTangentPredictor, nrm = false)Write in z_pred a prediction for the new Newton guess given the current solution z_old, tangent τ and arc length ds.
getTangent!(τ::M, z_new::M, z_old::M, it, ds, θ, pred:: AbstractTangentPredictor, verbosity)Generate an estimate of the tangent to the branch of solutions at positions z_new, z_old
corrector(it, z_old::M, τ::M, z_pred::M, ds, θ, pred::AbstractTangentPredictor, linearalgo; normC = norm, callback = cbDefault, kwargs...)Correct the guess z_pred. Must return a tuple (sol, residuals, isconverged, it numbers, itlinear)
Optional methodsBrief description
Base.empty!(pred::AbstractTangentPredictor)Reset the predictor