You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi there! Glad to see that differentiation of implicit functions is a hot topic 😉
I am also developing a package for that purpose: https://github.com/gdalle/ImplicitDifferentiation.jl
Maybe we should join forces instead of duplicating the work?
The text was updated successfully, but these errors were encountered:
Thanks for reaching out. I agree that we should not duplicate work, and your package is very neatly written so I would be happy to contribute.
This package is currently an experiment for the following:
conceptually, given an x::AbstractVector, map to a "model" m = p(x) and then f(p) (eg scalar), but x may never be constructed, we work with the opaque object p
the mapping is defined by solving an implicit function g(p, y) = 0 for y(p), and then f(p) = h(p, y)
the supported interface is
A. calculating f(x) and f'(x) from p, pretending we map from x
B. translating the p corresponding to x by d to p2 = m(x .+ d), again without necessarily constructing x .+ d. This allows reusing y(p) + dy/dx * d as an initial guess for the iterative solver in the condition.
Currently, I am working on refining the interface, while using this in an actual research project, so this repo is for fast experimentation. I would recommend that once I am done, we assess what can be merged and decide how to proceed.
Thanks for your answer! Not sure I understand it entirely but I'll let you work on it, just ping me when you reach a stable state :)
Btw, Mohamed and I will present ImplicitDifferentiation.jl at JuliaCon (if it gets accepted), so maybe we can chat then
Hi there! Glad to see that differentiation of implicit functions is a hot topic 😉
I am also developing a package for that purpose: https://github.com/gdalle/ImplicitDifferentiation.jl
Maybe we should join forces instead of duplicating the work?
The text was updated successfully, but these errors were encountered: