Ask Your Question

Extract terms from a sum

asked 2012-09-05 00:05:14 +0200

heatkernel gravatar image

Is there some way to programmatically extract the first, second, third, and so on terms from a sum of symbolic terms (or equivalently, turn such a sum into the list of its summands)? For example, after

sage: A,B,C = var('A'), var('B'), var('C') 
sage: F = A*B+C; F
A*B + C

Is there some method you can call on F to extract A*B (or C)? This would be useful especially for displaying sage in LaTeX via sageTeX when a formula that is the sum of 4 terms (say) runs over the margin and has to be split up somehow. I would also be interested in a workaround in sageTeX that would allow you to flexibly insert a linebreak in a formula under the circumstances that the formula generated by Sage got too long for a line.

edit retag flag offensive close merge delete


Can you start a different question about the SageTeX thing? It's sort of buried here, and should really have the honor of its own question.

kcrisman gravatar imagekcrisman ( 2012-09-05 09:21:18 +0200 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2012-09-05 01:20:40 +0200

benjaminfjones gravatar image

Look at the operator() and operands() built-in methods of the Symbolic Expression class:

sage: F.operator()
<built-in function add>
sage: F.operands()
[A*B, C]
sage: F == F.operator()(*F.operands())
A*B + C == A*B + C
sage: bool(F == F.operator()(*F.operands()))
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2012-09-05 00:05:14 +0200

Seen: 1,054 times

Last updated: Sep 05 '12