-
Notifications
You must be signed in to change notification settings - Fork 27
Closed
Description
I noticed when adding FiniteDifferences v0.10 compatibility to ChainRules (JuliaDiff/ChainRules.jl#198) that many of the *
tests suddenly failed.
It seems that FiniteDifferences changed its conjugation convention in the change from v0.9.8 to v0.10.0. An example:
Setup:
julia> using FiniteDifferences
julia> x, y, Δz = 1.0 + 2.0im, 3.0 + 4.0im, 5.0 + 6.0im;
On v0.9.8:
julia> j′vp(central_fdm(5, 1), *, Δz, x, y)
(-8.999999999999446 + 38.000000000000284im, -6.999999999999783 + 15.99999999999862im)
julia> conj.(j′vp(central_fdm(5, 1), *, conj(Δz), x, y))
(39.00000000000018 - 1.9999999999994031im, 16.999999999998604 - 4.000000000000034im)
On v0.10.0 (and v0.10.2)
julia> j′vp(central_fdm(5, 1), *, Δz, x, y)
(38.99999999999998 - 2.0000000000012363im, 16.9999999999999 - 3.999999999999728im)
julia> conj.(j′vp(central_fdm(5, 1), *, conj(Δz), x, y))
(-9.000000000000066 + 37.999999999999986im, -7.00000000000015 + 16.00000000000108im)
So it seems j′vp
switched conjugate conventions in the jump to v0.10.0. I didn't see this documented anywhere. Was this an intended change?
Metadata
Metadata
Assignees
Labels
No labels