๐ŸŸข Sphere based on BifurcationKit.jl

In this tutorial, we show how to cover a sphere as solution of

\[F(u) := \|u\|^2-1 = 0\]

We use this model as a mean to introduce the basics of MultiParamContinuation.jl based on BifurcationKit.jl.

It is easy to encode the manifold using ManifoldProblem_BK which yields a ManifoldProblemBK with BifurcationKit internals.

using CairoMakie, BifurcationKit, MultiParamContinuationconst MPC = MultiParamContinuationF(u,p) = [u[1]^2 + u[2]^2 + u[3]^2 - 1]prob = ManifoldProblem_BK(F,                    [1.,0,0],                    nothing                        )
2-d Manifold Problem
    โ”œโ”€ n = 3
    โ””โ”€ m = 1
show(prob)
2-d Manifold Problem
    โ”œโ”€ n = 3
    โ””โ”€ m = 1

We compute a covering of the manifold:

S = MPC.continuation(prob,            Henderson(np0 = 6),            CoveringPar(max_charts = 20000,                    max_steps = 250,                    # trigger the use of BifurcationKit newton solver                    newton_options = NewtonPar(),                    Rmax = 0.2,                    R0 = .2,                    )            )show(S)
Surface 2-d
   โ”œโ”€ # charts = 251
   โ””โ”€ problem =
          2-d Manifold Problem
              โ”œโ”€ n = 3
              โ””โ”€ m = 1

You can now plot the result as

MPC.plotd(S;    draw_tangent = true,    plot_center = false,    draw_edges = true,    )
Example block output