On Saturday, May 21, 2011 9:43:55 PM UTC-7, mankoff wrote:
>
>
> I can solve basic equations for a variable without setting the LHS
> equal to a value:
>
> reset()
> var('a b c')
> f(a,b,c) = a+b+c
> solve(f,a)
> a == -b - c
>
> But slightly more complex equations don't seem to work unless I solve
> for f==something:
>
> reset()
> var('a b c')
> f(a,b,c) = a*b*c
> solve(f,a)
> a == 0
>
> How can I get the analytical solution
>
> a = f/(b*c)
>
> I've tried defining my equation differently so it is a variable not a
> function:
>
> reset()
> var('f a b c')
> f = a*b*c
> solve(f,a)
>
> None of these seem to work.
>
> I can add an 'x' to the var list and then this works a bit:
> solve(f==x,a)
> a == x/(b*c)
>
> And now I can remember to swap x for f, but this seems like a hack. I
> tried using 'f' instead of 'x'
>
> solve(f==f,a)
>
> but just get the strange solution
>
> a == r1
>
> I'm new to Sage so I hope there is something obvious I'm missing.
>
The first argument to "solve" should be an equation, so try this:
sage: var('f a b c')
sage: solve(f==a*b*c, a)
[a == f/(b*c)]
It looks like if you don't include an equation, just a symbol, it sets it to
zero and solves that equation. (This explains your first two examples.) I
don't know if this is intentional behavior; it's safer to explicitly include
both sides of the equation.
--
John
--
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
URL: http://www.sagemath.org