Skip to content

Commit 227f703

Browse files
authored
Bump ImplicitDifferentiation bound + run CompatHelper on subpackages (#980)
* Run CompatHelper on subpackages * Bump * Fix vector * Fix return
1 parent bc7c5c7 commit 227f703

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

.github/workflows/CompatHelper.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: "Run CompatHelper"
1919
run: |
2020
import CompatHelper
21-
CompatHelper.main()
21+
CompatHelper.main(; subdirs=["", "lib/ControlSystemsBase"])
2222
shell: julia --color=yes {0}
2323
env:
2424
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

lib/ControlSystemsBase/Project.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ ControlSystemsBaseImplicitDifferentiationExt = ["ImplicitDifferentiation", "Comp
3131
Aqua = "0.5"
3232
DSP = "0.6.1, 0.7, 0.8"
3333
ForwardDiff = "0.10"
34-
ImplicitDifferentiation = "0.4.2"
34+
ImplicitDifferentiation = "0.7.2"
3535
LinearAlgebra = "<0.0.1, 1"
3636
MacroTools = "0.5"
3737
MatrixEquations = "1, 2.1"

lib/ControlSystemsBase/ext/ControlSystemsBaseImplicitDifferentiationExt.jl

+6-5
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,12 @@ import ControlSystemsBase: hinfnorm
201201
function forward_hinfnorm(pars; kwargs...)
202202
(; A,B,C,D) = pars
203203
sys = ss(A,B,C,D)
204-
hinfnorm(sys; kwargs...)
204+
γ, w = hinfnorm(sys; kwargs...)
205+
return [γ], w
205206
end
206207

207-
function conditions_hinfnorm(pars, γ, w; tol=1e-10)
208+
function conditions_hinfnorm(pars, γ_vec, w; tol=1e-10)
209+
γ = only(γ_vec)
208210
(; A,B,C,D) = pars
209211
sys = ss(A,B,C,D)
210212
[opnorm(freqresp(sys, w)) - γ]
@@ -222,8 +224,8 @@ A reverse-differentiation rule is defined in RobustAndOptimalControl.jl, which m
222224
function hinfnorm(sys::StateSpace{Continuous, <:Dual}; kwargs...)
223225
A,B,C,D = ssdata(sys)
224226
pars = ComponentVector(; A,B,C,D)
225-
γ, w = implicit_hinfnorm(pars)
226-
γ, w
227+
γ_vec, w = implicit_hinfnorm(pars)
228+
only(γ_vec), w
227229
end
228230

229231

@@ -264,4 +266,3 @@ end
264266

265267

266268
end # module
267-

0 commit comments

Comments
 (0)