Open
Description
Simple example of taking the jacobian of identity, but idently is implemeted as a copy:
julia> import Diffractor
julia> import AbstractDifferentiation as AD
julia> AD.jacobian(Diffractor.DiffractorForwardBackend(), copy, rand(2))
ERROR: Attempted to AD a foreigncall. Missing rule?
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] copy
@ Diffractor ./array.jl:409 [inlined]
[3] (::Diffractor.∂☆recurse{…})(::ZeroBundle{…}, ::Diffractor.TangentBundle{…})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/recurse_fwd.jl:0
[4] (::Diffractor.∂☆internal{1})(::ZeroBundle{1, typeof(copy)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:121
[5] (::Diffractor.∂☆{1})(::ZeroBundle{1, typeof(copy)}, ::Vararg{Diffractor.AbstractTangentBundle{1}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/stage1/forward.jl:160
[6] (::Diffractor.var"#pushforward#359"{typeof(copy), Tuple{Vector{Float64}}})(vs::Tuple{Vector{Float64}})
@ Diffractor ~/.julia/packages/Diffractor/QyO8B/src/AbstractDifferentiation.jl:13
[7] (::Diffractor.var"#358#362"{Diffractor.var"#pushforward#359"{typeof(copy), Tuple{Vector{…}}}})(cols::Vector{Float64})
@ Diffractor ~/.julia/packages/AbstractDifferentiation/eEkWP/src/AbstractDifferentiation.jl:526
[8] mapslices(f::Diffractor.var"#358#362"{Diffractor.var"#pushforward#359"{…}}, A::Matrix{Float64}; dims::Int64)
@ Base ./abstractarray.jl:3179
[9] jacobian(b::Diffractor.DiffractorForwardBackend, f::Function, args::Vector{Float64})
@ Diffractor ~/.julia/packages/AbstractDifferentiation/eEkWP/src/AbstractDifferentiation.jl:524