help wanted
Metriche repository
- Star
- (578 star)
- Metriche merge PR
- (Merge medio 203g 12h) (12 PR mergiate in 30 g)
Descrizione
A number of functions in this package and in RobustAndOptimalControl.jl fail when trying to compute gradients through them using ForwardDiff or Zygote. This issue tries to summarize the current status
Problematic functions
| Function | AD package | Comment |
|---|---|---|
c2d |
ForwardDiff | :zoh requires exp!(::Matrix{Dual}). ForwardDiffChainRules buggy, but manual implementation possible. #844 |
feedback |
Zygote | try/catch and @warn |
are |
All | Handled through ImplicitDiff #844 |
hinfnorm |
ForwardDiff | Non-smooth. Works for Zygote. See tests for comments and comment. ForwardDiff in #844 but not for MIMO |
svd/qr/schur |
ForwardDiff | DifferentiableFactorizations.jl may be helpful |
hessenberg |
ForwardDiff, ReverseDiff | GenericLinearAlgebra.Hessenberg has different fieldnames from LinearAlgebra.Hessenberg |
c2d example failing
foo(x) = sum(exp(reshape(x, 2, 2)))
v = randn(4)
using ForwardDiff
ForwardDiff.gradient(foo, v)
ERROR: MethodError: no method matching exp(::Matrix{ForwardDiff.Dual...