Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x*DiracDelta(x) does not simplify to 0 #13996

Open
normalhuman opened this issue Jan 23, 2018 · 6 comments
Open

x*DiracDelta(x) does not simplify to 0 #13996

normalhuman opened this issue Jan 23, 2018 · 6 comments
Labels

Comments

@normalhuman
Copy link
Contributor

Neither simplify, nor expand_func, not other methods I tried could turn x*DiracDelta(x) into 0.

Well, except for the absurd "integrate and then differentiate" trick.

Reported on Stack Overflow

@jashan498
Copy link
Member

I would like to work on this.

@asmeurer
Copy link
Member

As far as I know, the only thing that knows anything about DiracDelta is integrate (mathematically, DiracDelta doesn't even make sense outside of an integral, although SymPy allows that as a formalism).

I'm not sure what existing method should do it.

@jksuom
Copy link
Member

jksuom commented Jan 23, 2018

It could probably be done by __mul__ of DiracDelta (if its priority was raised):

`f(x)*DiracDelta(x) -> f(0)*DiracDelta(x)`

It would be automatic, but I don't think any harm would follow.

@asmeurer
Copy link
Member

Wouldn't that defeat the purpose of deltaintegrate?

@jksuom
Copy link
Member

jksuom commented Jan 24, 2018

It seems to me that deltaintegrate aims to deal with expressions of the form δ(f(x)) (inverse image under f of δ considered as a generalized density). Straightforward multiplication could be handled in DiracDelta class with δ regarded as a distribution. It is possible to multiply δ(x) by a function but not by itself. That could be taken care of by a local __mul__ method.

@asmeurer
Copy link
Member

I also want to note that from a technical point of view, I'm not very convinced that the current ways of doing such things are well designed (c.f. #13161).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants