Beispiel #1
0
 def _main(expr):
     _new = []
     for a in expr.args:
         is_V = False
         if isinstance(a, V):
             is_V = True
             a = a.expr
         if a.is_Derivative:
             variables = a.atoms()
             func = a.expr
             variables.add(func)
             name = a.expr.__class__.__name__
             if ',' in name:
                 a = Function('%s' % name +
                       ''.join(map(str, a.variables)))(*variables)
             else:
                 a = Function('%s' % name + ',' +
                       ''.join(map(str, a.variables)))(*variables)
         #TODO add more, maybe all that have args
         elif a.is_Add or a.is_Mul or a.is_Pow:
             a = _main(a)
         if is_V:
             a = V(a)
             a.function = func
         _new.append( a )
     return expr.func(*tuple(_new))
Beispiel #2
0
 def _main(expr):
     _new = []
     for a in expr.args:
         is_V = False
         if isinstance(a, V):
             is_V = True
             a = a.expr
         if a.is_Derivative:
             variables = a.atoms()
             func = a.expr
             variables.add(func)
             name = a.expr.__class__.__name__
             if ',' in name:
                 a = Function('%s' % name +
                              ''.join(map(str, a.variables)))(*variables)
             else:
                 a = Function('%s' % name + ',' +
                              ''.join(map(str, a.variables)))(*variables)
         #TODO add more, maybe all that have args
         elif a.is_Add or a.is_Mul or a.is_Pow:
             a = _main(a)
         if is_V:
             a = V(a)
             a.function = func
         _new.append(a)
     return expr.func(*tuple(_new))