On 5/14/11 8:32 PM, MathLynx wrote:
How can I use Sage to determine if an expression is a sum - i.e. if
the last operation performed is either addition or subtraction?

Thus, I would like to identify "a*(b+c)" as a product but "a*b+a*c" as
a sum.

It would be nice to also identify the number of summands in an
addition - or multiplicands in a product - i.e. "a*b+a*c" should be a
sum with two summands, as opposed to "a*b+a*c+a*d" having three
summands.

You can use operands() and operator() to do these things:

sage: var('a,b,c,d')
(a, b, c, d)
sage: f=a*b+a*c+a*d
sage: f.operands()
[a*b, a*c, a*d]
sage: f.operator()
<built-in function add>
sage: g=a*(b+c)
sage: g.operands()
[b + c, a]
sage: g.operator()
<built-in function mul>

Jason


--
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

Reply via email to