What about this?
class Syms(object):
"""Return an Indexed object with name given at instantiation.
Indexing can be done using matrix or function notation.
Examples
========
>> from sympy.future import Syms
>> a=Syms('a')
>> a[1]
a[1]
>> a(1)
a[1]
>> a(i,k)
a[i, k]
"""
def __new__(cls, name):
obj = object.__new__(cls)
obj.name = name
return obj
def __getitem__(self, *i):
return Indexed(self.name, *i)
def __call__(self, *i):
return Indexed(self.name, *i)
>>> eqs=Tuple(a[i]+a[j]-3,a[i]-a[j]+4)
>>> idx=eqs.atoms(Indexed)
>>> dum=[Dummy() for ii in idx] # don't use i as loop variable
>>> Dict(solve(eqs.subs(zip(idx, dum)), dum)).subs(zip(dum,idx))
{a[i]: -1/2, a[j]: 7/2}
>>> Sum(a[i],(i,1,4))
Sum(a[i], (i, 1, 4))
>>> _.doit()
a[1] + a[2] + a[3] + a[4]
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
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/sympy?hl=en.