Thanks for your response, smichr; that's greatly appreciated.
However, this does not seem to work, since the following error is produced:
Traceback (most recent call last):
File "test-1.py", line 17, in<module>
print collect(expr.subs([(a**(n+1), u*a**(n+1)) for a in _]), u)
NameError: name '_' is not defined
The underscore in an interactive session refers to the last output. In
a script it doesn't have that meaning; it's just a variable name which
you haven't defined yet.
Ah yes, I haven't been using iPython or something similar.
You are also missing some of what happened in the example I gave.
Atoms was used to find the bases of the powers of interest and then
those, raised to the n+1 power, where replaced with themselves*u. What
you wrote above should appear something like this in a script:
...
u = C.Dummy('u')
IE_atoms = expr1.atoms(IndexedElement)
print collect(expr.subs([(a**(n+1), u*a**(n+1)) for a in IE_atoms]),
u)
I've tried changing some sections of my script, but I still don't know
what I am doing wrong:
# begin code
from sympy import *
from sympy.tensor import Indexed, Idx, IndexedElement
M = Indexed('M')
var('A B C D E')
i,j,n = symbols('i j n', integer = True)
i = 1
j = 1
expr = Eq( A*M(i,j)**n + B*M(i+1,j)**(n+1),
C*M(i,j+1)**n + D*M(i,j)**(n+1) +
E*M(i+1,j)**(n+1) )
expr1 = expr.lhs - expr.rhs
u = Symbol('u', dummy=True)
IE_atoms = expr1.atoms(IndexedElement)
print collect(expr1.subs([(a**(n+1), u*a**(n+1)) for a in IE_atoms]), u)
# begin code
# end code
After a few seconds, this script generates a very long output, ending
with the following error:
RuntimeError: maximum recursion depth exceeded while calling a Python object
So what would I have to change to make this script work as intended?
Nicholas
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to sy...@googlegroups.com.
To unsubscribe from this group, send email to
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sympy?hl=en.