On mutating a variable to a function
In looking to the page https://doc.sagemath.org/html/en/reference/calculus/sage/calculus/tests.html
by accident, I have discovered an incredible feature of Sagemath : the fact that a variable can be transformed in a function and vis-versa. It is very nice for an economist (not only but it is what I am) in the following code
var('x y p_x p_y R λ')
U(x,y)= x*y
L(x,y,λ)= U(x,y)+λ*(R-p_x*x-p_y*y)
sol = solve([L(x,y,λ).diff(x)==0,L(x,y,λ).diff(y)==0,L(x,y,λ).diff(λ)==0], (x,y,λ))
show(sol[0][0])
x = function('x')
x = sol[0][0].rhs()
show(LatexExpr(r'\frac{dx}{dR} = '),x.diff(R).simplify())
My question : is there a shorten way to have access to x
than writting x = sol[0][0].rhs()
since show(sol[0][0])
display the relation correctly (but without x = sol[0][0].rhs()
, I can't obtain the desired result).
Incidently, I think that this incredible feature is not enough publicized.