FiniteDifferences.jl
FiniteDifferences.jl copied to clipboard
High accuracy derivatives, estimated via numerical finite differences (formerly FDM.jl)
Firstly, I'm very fond of `to_vec` -- it's served us well over the last couple of years. We know it has some shortcomings though, that we will need to address...
As suggested in https://github.com/JuliaDiff/FiniteDifferences.jl/issues/90#issuecomment-650078638 , we might want to consider moving away from `to_vec` towards defining operations on `ChainRules`'s types directly. In particular #91 implements the `difference` operation, which is...
`central_fdm` will cause problem when one wants the input always being positive semidefinite, e.g the real value `logdet` function. It cause the gradcheck of `logdet` in Zygote fails occasionally, any...
In #119, we temporarily turned on 32-bit builds, which all failed. It would be good to run CI on 32-bit builds to work out if this is an issue with...
There appears to be a problem with `jvp` when the `v` supplied is real and the primal is complex: ```julia using FiniteDifferences jvp(central_fdm(5,1), abs2, (3.0 + im, 0.25)) #+RESULTS: :...
Relates to #80 -- FiniteDifferences cannot generally handle functions for which either the _size_ the _type_ of the output is a function of the _value_ of the input. Given that...
I can't compute the `j′vp` for the function `p -> x^p` on FiniteDifferences v0.10.0, where `x` is a matrix and `p` is a scalar: ```julia julia> using FiniteDifferences julia> fdm...
Something I ran into in ChainRules was that FDM's `j′vp` currently cannot deal with non-numeric, non-differentiable arguments, nor can it deal with keyword arguments. One example of that is `sum`...
Add support for gradients and Hessians of multivariate functions.