I have a system of nonlinear equations $F(x,a) = 0$ and I know that at a specific point $a_c$ a bifurcation occurs, thus the Jacobian becomes singular. How can I switch branches and start following a new solution path as I increment $a$?

  • $\begingroup$ A basis for the nullspace of the Jacobian at the point of bifurcation should give you a set of directions you can use to explore families of solutions via something like a continuation method. $\endgroup$ Commented Sep 29, 2013 at 2:57
  • $\begingroup$ So, since rank(N(J))=1 in my case, I got a basis vector u for the nullspace. If my solution is (x0,a0) at the bifurcation how do I generate a new initial guess for my system that will converge to a solution on the new branch? Thanks for the answer btw. $\endgroup$
    – chemeng
    Commented Sep 29, 2013 at 3:07
  • 1
    $\begingroup$ If $a_{0}$ is where your bifurcation occurs, and $v$ is the normalized vector in the nullspace of the Jacobian matrix, then I'd try guesses of the form $F(x_{0} + cv, a_{0})$, where $c$ is some small constant. You'll probably want to try both positive and negative values of $c$, and you may need to perturb $a$ slightly as well. Books on continuation methods will provide more detailed advice. $\endgroup$ Commented Sep 30, 2013 at 17:42

1 Answer 1


From http://www.scholarpedia.org/article/Numerical_continuation#Branch_switching:

When the Jacobian matrix becomes singular and there is no simple fold, so the continuation point is not regular, multiple branches emanate from such a point. In that case, to switch to a different branch than the one that follows the direction vi (as defined above) the continuation must be perturbed. The algebraic bifurcation equation gives the necessary direction. One can often also perturb the system and then try to converge parallel to the original branch; typically the second branch is then found.

There are also some packages mentioned on the site which implement automatic branch switching (e.g., AUTO).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.