Unknown exponents causing problem to not be solved
Right now im trying to solve one of the problems i've encountered using sage and it seems like im onto something. However I've encountered a kink at step3
in my code.
x1, x2, l, p1, p2, a, b, R= var('x1, x2, l, p1, p2, a, b, R')
U = x1^a*x2^b
m = p1*x1+p2*x2;
L = m+ l * (R-U);
dLdx = L.diff(x1);
dLdy = L.diff(x2);
dLdl = L.diff(l);
step1=solve([dLdx == 0, dLdy == 0, dLdl == 0], p1, p2, R)
step2=solve(step1[0][0].rhs()/step1[0][1].rhs()==p1/p2,x1)
step3=solve(U.subs(step2)==R,x2)
step3
Out: x2^b == R/(a*p2*x2/(b*p1))^a
being that I want to isolate x2
im not sure why its power b
is not just moved over.
why is this the case?
Note: The following code works
x1, x2, l, p1, p2, a, b, Ubar= var('x1, x2, l, p1, p2, a, b, Ubar')
assume(x1>0,x2>0,a>0,b>0)
U = x1*x2
m = p1*x1+p2*x2;
L = m+ l * (Ubar-U);
dLdx = L.diff(x1);
dLdy = L.diff(x2);
dLdl = L.diff(l);
step1=solve([dLdx == 0, dLdy == 0, dLdl == 0], p1, p2, Ubar)
step2=solve(step1[0][0].rhs()/step1[0][1].rhs()==p1/p2,x1)
step3good2=solve(U.subs(step2)==Ubar,x2)
step4good1=solve(step2[0].subs(step3Good2),x1)
step3good2
Out: [x2 == sqrt(R*p1/p2)]
step4good1
Out: [x1 == sqrt(R*p1/p2)*p2/p1]
This works because I'm considering a case where our utility function has no exponents a
and b
. What am I missing from my code?