= Continuation predictor-corrector step
{title2=$z_{\mathrm p}=z_k+h t_k$}
For the cubic <polynomial>, an oriented, normalized <tangent vector> is
$$
t_k=\frac{(1,\ 1-3x_k^2)}{\sqrt{1+(1-3x_k^2)^2}}.
$$
Its <Euclidean norm> is one and $DF(z_k)t_k=0$. The sign here follows increasing $x$; for a general <solution branch>, choose the sign of each new <tangent vector> so its <dot product> with the previous one is positive. First predict $z_{\mathrm p}=z_k+h t_k$, then apply <Newton method> starting at $z_{\mathrm p}$ to
$$
H(z)=\begin{pmatrix}F(z)\\t_k^{\mathsf T}(z-z_{\mathrm p})\end{pmatrix}=0,\qquad
DH(z)=\begin{pmatrix}3x^2-1&1\\t_{k,x}&t_{k,\lambda}\end{pmatrix}.
$$
The second equation keeps the correction on the transverse line in this two-dimensional example; in higher dimensions it is a <hyperplane>. Solving the <linear system> $DH(z^{(j)})\delta z=-H(z^{(j)})$ and updating $z^{(j+1)}=z^{(j)}+\delta z$ corrects both coordinates together.
\Image[/continuation-pseudo-arclength-predictor-corrector.png]
{title=A tangent predictor and transverse correction step across the upper fold}
{description=From $z_k=(0.45,0.358875)$ with $h=0.18$, the predictor lies above the largest attainable nearby $\lambda$. Correction along the transverse line returns to the <solution branch> on the far side of the <continuation fold>. Both axes use the same scale, so perpendicularity is visible.}
This step gives $z_{\mathrm p}\approx(0.617556,0.424641)$ and $z_{k+1}\approx(0.635532,0.378840)$. Check both equations: the solution must satisfy $x^3-x+\lambda=0$ and $t_k^{\mathsf T}(z-z_{\mathrm p})=0$. Checking only the first could accept any point on the <solution branch>. The new $x$ exceeds $1/\sqrt3$, so the step crosses the <continuation fold>, even though the predictor's $\lambda$ exceeds $2/(3\sqrt3)$.
At the seed, set $a=3x_k^2-1$. The <determinant> of the correction <Jacobian matrix> with the exact <unit vector> above is
$$
\det DH(z_k)=-\sqrt{1+a^2}\ne0.
$$
At either <continuation fold>, $a=0$, $t_k=(1,0)$ and $DH(z_k)=\begin{pmatrix}0&1\\1&0\end{pmatrix}$: the correction remains invertible. More generally, if $DF$ has full <rank> and a one-dimensional <kernel> spanned by $t_k$, adding $t_k^{\mathsf T}$ gives an <invertible matrix>, since a <vector> annihilated by both rows must be zero. This is a local argument; the old transverse <hyperplane> need not work arbitrarily far along the <curve>. Reduce $h$ and retry when correction fails, and check the equations and orientation after successful steps. Scaling state and parameter coordinates also matters, because it changes the <Euclidean norm> used to normalize the <tangent vector>.
// Target: analysis.bigb
Back to article page