Skip to content

Commit

Permalink
Determinant-based test function for codim1
Browse files Browse the repository at this point in the history
  • Loading branch information
tkf committed Jul 25, 2018
1 parent eb3550a commit 0935155
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/codim1/resolve_point.jl
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,25 @@ function testfn_for(point_type::Enum, tkind::TimeKind, ckind::ContinuationKind,
return (u, J, L, Q) -> testfn(ptype, tkind, ckind, prob_cache, u, J, L, Q)
end

testfn(::Val{PointTypes.saddle_node}, ::Continuous, ::FixedPointCont,
prob_cache, u, J, L, Q) =
det(ds_jacobian(J))

function testfn(::Val{PointTypes.hopf}, ::Continuous, ::FixedPointCont,
prob_cache, u, J, L, Q)
vals = _eigvals(ds_jacobian(J))
_, i = findmin(abs.(real.(vals)))
return real(vals[i])
end

testfn(::Val{PointTypes.saddle_node}, ::Discrete, ::FixedPointCont,
prob_cache, u, J, L, Q) =
det(ds_jacobian(J) - I)

testfn(::Val{PointTypes.period_doubling}, ::Discrete, ::FixedPointCont,
prob_cache, u, J, L, Q) =
det(ds_jacobian(J) + I)

const Instability = Union{
Val{PointTypes.saddle_node},
Val{PointTypes.period_doubling},
Expand Down

0 comments on commit 0935155

Please sign in to comment.