-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to DifferentiationInterface #111
base: main
Are you sure you want to change the base?
Conversation
Okay this is a bit more complicated than I thought and I can't do it blindly. Can you tell me a little more about the objects |
Hi @gdalle, thank you for taking the time to open this PR. Could you tell me a bit more about your new DifferentiationInterface.jl as compared to AbstractDifferentiation.jl and the problems it solves. I can't see any deprecation or migration notes on their github. The |
DI takes most of its inspiration from AbstractDifferentiation, while learning from its few design shortcomings. The main improvements wrt AD are the breadth of coverage (a dozen supported backends), the caching mechanism and support for mutation, the solid testing and benchmarking infrastructure, as well as the reliance on ADTypes for backend specification. The main limitation of DI right now is that it only supports a single argument, but it should be okay for your use case if we put the estimates into a vector. DI is already being adopted by the SciML ecosystem, and aims to become a central component of the Julia package ecosystem. Part of this involves me spontaneously asking users (like yourself) what they need 😉 Is there a way to know a priori whether |
Thanks that looks very promising and I'm looking forward to integrating AbstractDifferentiation. The problem I see at the moment with single argument function is that it would be breaking since users would have to define I don't know if there is an easy way to look into So I'd say supporting multiple argument functions and a seemless way to compute jacobian or gradient would be ideal for the change :-) |
Multiple argument support is not really an issue because we can always |
I'm sorry I'm not sure I understand the question, but basically the purpose of this package is to estimate statistical quantities that can be multidimensional e.g. [x, y, z]. Once this is done, more quantities can be of further interest, e.g. differences. One could be interested in only one difference |
I think I have a way to handle this, which is to turn everything into a vector under the hood and always compute a Jacobian. Will update the PR accordingly |
Hi @olivierlabayle,
My new package DifferentiationInterface.jl is pretty much becoming the successor of AbstractDifferentiation.jl, so I took the liberty of opening this small PR to help you make the switch if you're interested