dionysos-dev / Dionysos.jl

MIT License
40 stars 16 forks source link

Add the computation of a quadratic Lyapunov function #345

Open JulienCalbert opened 2 months ago

JulienCalbert commented 2 months ago

To plot the bisimilar abstraction for switched systems (DCDC converter), and compute the abstraction parameters, we need to compute a common quadratic lyapunov function.

blegat commented 2 months ago

That's the overarching goal of https://github.com/blegat/SwitchOnSafety.jl but it the moment it only supports a limited set of systems so you can add a custom implementation for the system of interest for DCDC in Dionysos and we can see later if we can refactor with SwitchOnSafety

adrienbanse commented 2 months ago

Isn't it simply a SDP solver with bissection?

blegat commented 2 months ago

Yes but it's quite tricky to get it right, see https://github.com/blegat/SwitchOnSafety.jl/blob/master/src/sos.jl First you want to do the bisection in the log scale. Second (especially with degree higher than 2), you want to divide the matrices (describing the dynamical system) by γ and not multiply the LMI by γ^d otherwise the scaling is bad. Last but not least, there will be a blind spot around the critical γ where the SDP goes from infeasible to feasible and your bisection should be robust against that. The struggle I had for computing the JSR numerically with SDP solvers was one of the motivation of the better status reporting in MOI compared to MathProgBase ^^