diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml index 68ca87ea5..c263a2b78 100644 --- a/.github/workflows/CompatHelper.yml +++ b/.github/workflows/CompatHelper.yml @@ -18,7 +18,7 @@ jobs: - name: "Run CompatHelper" run: | import CompatHelper - CompatHelper.main() + CompatHelper.main(; subdirs=["", "lib/ControlSystemsBase"]) shell: julia --color=yes {0} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/lib/ControlSystemsBase/Project.toml b/lib/ControlSystemsBase/Project.toml index 4b3562a31..32557e8e6 100644 --- a/lib/ControlSystemsBase/Project.toml +++ b/lib/ControlSystemsBase/Project.toml @@ -31,7 +31,7 @@ ControlSystemsBaseImplicitDifferentiationExt = ["ImplicitDifferentiation", "Comp Aqua = "0.5" DSP = "0.6.1, 0.7, 0.8" ForwardDiff = "0.10" -ImplicitDifferentiation = "0.4.2" +ImplicitDifferentiation = "0.7.2" LinearAlgebra = "<0.0.1, 1" MacroTools = "0.5" MatrixEquations = "1, 2.1" diff --git a/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl b/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl index 229d909d1..f0ad7edd4 100644 --- a/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl +++ b/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl @@ -201,10 +201,12 @@ import ControlSystemsBase: hinfnorm function forward_hinfnorm(pars; kwargs...) (; A,B,C,D) = pars sys = ss(A,B,C,D) - hinfnorm(sys; kwargs...) + γ, w = hinfnorm(sys; kwargs...) + return [γ], w end -function conditions_hinfnorm(pars, γ, w; tol=1e-10) +function conditions_hinfnorm(pars, γ_vec, w; tol=1e-10) + γ = only(γ_vec) (; A,B,C,D) = pars sys = ss(A,B,C,D) [opnorm(freqresp(sys, w)) - γ] @@ -222,8 +224,8 @@ A reverse-differentiation rule is defined in RobustAndOptimalControl.jl, which m function hinfnorm(sys::StateSpace{Continuous, <:Dual}; kwargs...) A,B,C,D = ssdata(sys) pars = ComponentVector(; A,B,C,D) - γ, w = implicit_hinfnorm(pars) - γ, w + γ_vec, w = implicit_hinfnorm(pars) + only(γ_vec), w end @@ -264,4 +266,3 @@ end end # module -