Giter Club home page Giter Club logo

Comments (5)

rveltz avatar rveltz commented on May 29, 2024

I thought about this recently and I have an issue. Typically, the function f used in the bisection is integer valued, it returns the number of unstable eigenvalues. The only way around it would be to use a more regular indicator but they will be more expensive to evaluate.

from bifurcationkit.jl.

antoine-levitt avatar antoine-levitt commented on May 29, 2024

Can't you just rootfind on the eigenvalue itself? I thought that was how it worked

from bifurcationkit.jl.

rveltz avatar rveltz commented on May 29, 2024

Probably on the closest to zero, you are right. Now the "devil is in the details":

  • it should work for systems with continuous symmetries for which there is always a zero eigenvalue (up to some precision). I deal with this case with the user passed parameter ContinuationPar.precisionStability by saying an eigenvalue is unstable if above precisionStability.
  • it should be able to cope with the case where many points cross the Imaginary axis at once (for example between two large continuation steps)

Another point is that I will feature event detection soon. There will be two kind of events: discrete and continuous. Discrete callbacks are the ones for which you look for a change in their value. For Continuous callbacks, you seek for their zeros. Bisection algo provides a single framework for handling the two different callbacks under the hood of an AbstractCallback. Now adding the Brent method will make this fall apart, but that's another issue (the one of growing code).

These callbacks will be the basis for codim 2 continuation (Bogdanov-Takens, Bautin, Hopf-Hopf...)

from bifurcationkit.jl.

antoine-levitt avatar antoine-levitt commented on May 29, 2024

One thing that could work is bisecting until you get to a region where you only have one crossing eigenvalue, and then do bisection. You could just say that you ignore eigenvalues that are smaller than some tolerance in absolute value

from bifurcationkit.jl.

rveltz avatar rveltz commented on May 29, 2024

I will try to make a MWE when I have some time.

from bifurcationkit.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.