This is exactly what I wanted. Thanks for your help! :)

I'll look up the maxima manuals to see if I can force it to think
harder. Thanks anyway!

Have a nice day!
V

On Mar 31, 3:35 pm, Jason Grout <[email protected]> wrote:
> V wrote:
> > On Mar 30, 6:07 pm, Jason Grout <[email protected]> wrote:
> >> V wrote:
> >>> Hi,
> >>> I'm fairly new to sage with some background in maxima.
> >>> My workbook is shared at
> >>>http://www.sagenb.org/home/pub/410/
> >>> the last three lines show the error I get.
> >>> Basically, I derive an equilibrium condition that I would like to use
> >>> in the previous stage of my game (solving by backwards induction), but
> >>> maxima fails (line -2) with simplifying after the substitution is
> >>> made, even though the substitution is successful (line -3).
> >>> I expect to receive the line in the last "paragraph" as defined by
> >>> D1p.
> >>> Is this a bug or did I made a mistake?
> >> In this line,
>
> >> solve([q1==q1.substitute(q2=sol2[0][1].right()).simplify_full()], q1)
>
> >> you are trying to solve for "q1", but q1 is not a variable, it's the
> >> expression:
>
> >> f2^alpha*p1^(alpha - 1)*p2^(beta - alpha*beta)*q2^alpha*A^(1 - alpha)/f1
>
> >> Did you mean to solve for a variable in the solve statement above?
>
> > The expression in the solve line would be a demand function where q
> > stands for quantity. But as it is derived from a later stage of the
> > game, q is present on the "right hand side" as well, and I would like
> > to express the demand function explicitly, that is I have q=f(q,x)
> > where x are all the other parameters and q is defined implicitly, and
> > I would like to have q=g(x).
>
> > I thought solve would do this for me, even though I already understand
> > why it doesn't, I still don't know how to do it. Could you give me a
> > hint, please?
>
> I see.
>
> Disclaimer: I don't know the mathematics that you are doing, so forgive
> me if I mess things up below...
>
> When you do q1==q1.subs(...), what the computer sees is:
>
> f2^alpha*p1^(alpha - 1)*p2^(beta - alpha*beta)*q2^alpha*A^(1 - alpha)/f1
> == f1^(alpha^2 - 1)*p1^((alpha - alpha^2)*beta + alpha - 1)*p2^((1 -
> alpha)*beta + alpha^2 - alpha)*q1^alpha^2*A^(1 - alpha^2)
>
> This doesn't seem like what you want; you want the left side to be a
> single variable, and the right side to have q1 be that same single
> variable.  So maybe you can do something like:
>
> sage: var('q')
> sage: q==q1.substitute(q2=sol2[0][1].right()).simplify_full().subs(q1=q)
> q == f1^(alpha^2 - 1)*p1^((alpha - alpha^2)*beta + alpha - 1)*p2^((1 -
> alpha)*beta + alpha^2 - alpha)*q^alpha^2*A^(1 - alpha^2)
> sage:
> solve(q==q1.substitute(q2=sol2[0][1].right()).simplify_full().subs(q1=q), q)
> [q == f1^(alpha^2 - 1)*p1^((alpha - alpha^2)*beta + alpha - 1)*p2^((1 -
> alpha)*beta + alpha^2 - alpha)*q^alpha^2*A^(1 - alpha^2)]
>
> So it doesn't look like maxima is able to handle this.
>
> Jason
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to