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
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)
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])
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])
def _eval_rewrite_as_Heaviside(self, arg): if arg.is_real: return C.Heaviside(arg) * 2 - 1