Dear Firedrake team,


I'm trying to solve Hamilton-Jacobi-Bellman equation. It is a fully nonlinear equation, so after linearization, in each iteration in first we need to determine a parameter which is obtained from solving nonlinear algebraic equation and after that we solve the linear PDE. How can I solve nonlinear algebraic equation in Firedrake?

Consider the simple example:

mesh = UnitSquareMesh(4, 4)R = FunctionSpace(mesh, "R", 0)Ralpha = Function(R)alpha = variable(Ralpha)A_alpha = as_tensor([[cos(alpha) , -sin(alpha)] , [sin(alpha) , cos(alpha)]])
A = Constant([[20 ,1] , [1 , 0.1]])
A_alphaA = inner(A_alpha  , A)
#dA_alphaA = solve(diff(A_alphaA , alpha ), alpha)

 
How can I solve "diff(A_alphaA , alpha)=0"  in Firedrake ?

Thank you in advance.

All the best,
Amireh