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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions