From 9ecd282bc1d28c61c5be90f22fd46cc390081318 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Fri, 11 Apr 2025 09:15:06 +0200 Subject: [PATCH 1/4] Run CompatHelper on subpackages --- .github/workflows/CompatHelper.yml | 2 +- lib/ControlSystemsBase/Project.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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..3330fd386 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.1" LinearAlgebra = "<0.0.1, 1" MacroTools = "0.5" MatrixEquations = "1, 2.1" From 6b2d5152597a8e32f0e9df5e787124f694c5e3dc Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 15 Apr 2025 15:17:09 +0200 Subject: [PATCH 2/4] Bump --- lib/ControlSystemsBase/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ControlSystemsBase/Project.toml b/lib/ControlSystemsBase/Project.toml index 3330fd386..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.7.1" +ImplicitDifferentiation = "0.7.2" LinearAlgebra = "<0.0.1, 1" MacroTools = "0.5" MatrixEquations = "1, 2.1" From 0b71c79e6900756787df27c4cb7b48a6fb0d8f7e Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 15 Apr 2025 18:06:11 +0200 Subject: [PATCH 3/4] Fix vector --- .../ext/ControlSystemsBaseImplicitDifferentiationExt.jl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl b/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl index 229d909d1..b3a9b58cd 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)) - γ] @@ -264,4 +266,3 @@ end end # module - From 96e6a4d3eb47b43d3547c315e481bc7dbd204e48 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 15 Apr 2025 18:15:16 +0200 Subject: [PATCH 4/4] Fix return --- .../ext/ControlSystemsBaseImplicitDifferentiationExt.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl b/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl index b3a9b58cd..f0ad7edd4 100644 --- a/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl +++ b/lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl @@ -224,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