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 sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org