Problem with Symbolic package: computation of symbolic gradient

@variables x1 x2
f = sin(8.0 * x1 * x2)
D = Differential(x1)

your_function = expand_derivatives(D(f))
# y_f = Symbolics.derivative(f, x1) # alternative

# evaluate the expression at x1=π, x2=1/8
substitute(your_function, Dict(x1=>π, x2=>1/8))

# if you want a callable julia function try this
callable_your_function = eval(build_function(your_function, x1, x2))
callable_your_function(π, 1/8)

# last question
your_gradient = Symbolics.gradient(f, Symbolics.get_variables(f))
1 Like