Computing the solution sets of parameter-dependent nonlinear equations is a fundamental task in applied mathematics. The main algorithm currently used to map out the solution sets of equations as the parameter is varied is the combination of arclength continuation and branch switching, due to Keller in 1977. This algorithm has been enormously successful and is used in every quantitative branch of science and engineering. However, it suffers from several significant disadvantages:
* It demands the solution of expensive subproblems. In particular, it demands the computation of determinants of the Jacobian of the residual to detect the presence of bifurcation points, and the nullspace of the Jacobian at those bifurcation points to switch branches. This limits the scalability of the algorithm and restricts its applicability to crude discretisations of PDEs.
* It cannot compute disconnected bifurcation diagrams: it only attempts to compute that part of the diagram connected to the initial data. Unfortunately, bifurcation diagrams are generically disconnected.
* In fact, it can also miss connected branches associated with nonsimple bifurcation points (such as when an eigenvalue of even multiplicity crosses the origin).
In recent work we have developed an algorithm, called deflated continuation, that overcomes all three disadvantages. The algorithm only demands the solution of the Jacobian of the underlying problem, and thus scales as far as the available preconditioner. Furthermore, deflated continuation can detect branches without regard to whether or how they are connected to known data.
In this talk, I will present the algorithm and give examples of its power in discovering previously unknown solutions in varied applications such as nematic liquid crystals and Bose--Einstein condensates.
|