Beispiel #1
0
 def _eval_rewrite_as_Heaviside(self, arg):
     # Note this only holds for real arg (since Heaviside is not defined
     # for complex arguments).
     if arg.is_real:
         return arg * (C.Heaviside(arg) - C.Heaviside(-arg))
     else:
         return self
Beispiel #2
0
 def fdiff( self, argindex ):
     n = len(self.args)
     if 0 < argindex and argindex <= n:
         argindex -= 1
         if n == 2:
             return C.Heaviside( self.args[1-argindex] - self.args[argindex] )
         newargs = tuple([ self.args[i] for i in range(n) if i != argindex])
         return C.Heaviside( Min(*newargs) - self.args[argindex] )
     else:
         raise ArgumentIndexError(self, argindex)
Beispiel #3
0
 def _eval_rewrite_as_Heaviside(self, *args):
     return Add(*[j*Mul(*[C.Heaviside(i-j) for i in args if i!=j]) \
             for j in args])
Beispiel #4
0
 def _eval_rewrite_as_Heaviside(self, *args):
     return C.Add(*[j*C.Mul(*[C.Heaviside(j - i) for i in args if i!=j]) \
             for j in args])
Beispiel #5
0
 def _eval_rewrite_as_Heaviside(self, arg):
     if arg.is_real:
         return C.Heaviside(arg) * 2 - 1