Skip to content

hinfnorm failure case #1014

@e271828e

Description

@e271828e

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions