-
Notifications
You must be signed in to change notification settings - Fork 89
Closed
Description
Hi. I've found an example where hinfnorm fails (and hinfnorm2 works):
P_test = zpk(
[-101.47795511977208 + 0.0im
-48.91219110762173 + 0.0im
-7.282563985219324 + 7.114985406231401im
-7.282563985219324 - 7.114985406231401im
-7.96322290641594 + 0.0im
-1.5268748507837735 + 1.2594070637611725im
-1.5268748507837735 - 1.2594070637611725im
-0.7114937019357614 + 0.0im
],
[ -101.32273797977184 + 0.0im
-49.510558929948274 + 0.0im
-20.0 + 0.0im
-11.82446898287247 + 0.0im
-10.604444850836952 + 0.0im
-5.297845964509693 + 6.146324852257861im
-5.297845964509693 - 6.146324852257861im
-1.4795349979133343 + 1.2376578249023653im
-1.4795349979133343 - 1.2376578249023653im
-0.6235091399063754 + 0.0im
-0.2743617810110765 + 0.0im
],
704.6392766532747
);
C_test = zpk(
[-0.5 + 0.0im],
[0.],
0.6
);
S_test = sensitivity(P_test, C_test);
hinfnorm2(S_test)
hinfnorm(S_test)This yields:
(1.3053326074298346, 5.806476748719396)
ERROR: In _infnorm_two_steps_dt: The computation of the H∞/L∞ norm did not converge in 250 iterations
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] _infnorm_two_steps_ct(sys::StateSpace{…}, normtype::Symbol, tol::Float64, maxIters::Int64, approximag::Float64)
@ ControlSystemsBase ~/.julia/packages/ControlSystemsBase/QP8oo/src/matrix_comps.jl:446
[3] _infnorm_two_steps_ct
@ ~/.julia/packages/ControlSystemsBase/QP8oo/src/matrix_comps.jl:373 [inlined]
[4] hinfnorm(sys::StateSpace{Continuous, Float64})
@ ControlSystemsBase ~/.julia/packages/ControlSystemsBase/QP8oo/src/matrix_comps.jl:327
[5] top-level scope
@ REPL[13]:1
Some type information was truncated. Use `show(err)` to see complete types.
I'm on macOS, with Julia 1.11.4 and ControlSystems.jl v1.14.0
I have encountered other cases, but they occur inside optimization tasks. I can instrument the code to pluck out a few more examples if that might help.
Also, there seems to be a formatting issue in hinfnorm2's docstring (and a few others).
Metadata
Metadata
Assignees
Labels
No labels