Closed
Description
Hi all,
ForwardDiff incorrectly computes the Hessian of three-argument-dot.
Cook up some (any) square matrix
julia> H = [1 2 3; 4 5 6; 7 8 9];
Compute Hessian of three-argument dot. Yields all zeros. Should yield H+H'.
julia> ForwardDiff.hessian(x->dot(x,H,x), zeros(3))
3×3 Array{Float64,2}:
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
Manually expand that three argument dot call. Now result is the expected H+H':
julia> ForwardDiff.hessian(x->x'H*x, zeros(3))
3×3 Array{Float64,2}:
2.0 6.0 10.0
6.0 10.0 14.0
10.0 14.0 18.0
Curious!
Cheers,
Wouter
Metadata
Metadata
Assignees
Labels
No labels