Symbolic derivation of complex valued functions with Symbolics.jl

I played a bit with this

using Symbolics
@variables x::Float64
D = Differential(x)
@show D
@show D(x) 
@show expand_derivatives(D(x))

@variables z::Complex{Float64}
D = Differential(z)
@show D
@show D(z)
@show expand_derivatives(D(z))

yielding

D = Differential(x)
D(x) = Differential(x)(x)
expand_derivatives(D(x)) = 1
D = Differential(z)
D(z) = Differential(z)(z)
expand_derivatives(D(z)) = 0

Bug?

2 Likes