Until a couple of days ago, I always used the old assumption module defined in sympy.core.assumptions, where we create symbols with assumptions and then the expression infer the values for its assumptions. For example, I know that with this old module it's not possible to create a symbol x assuming x > y.
Now I'm exploring the new assumption module, defined in sympy.assumptions. Looking at the documentation, at questions over StackOverflow and into this mailing list, I understand that this module should be more powerful. I also read this interesting thread <https://groups.google.com/forum/#!searchin/sympy/assumptions|sort:date/sympy/AJVZdWnYQww/1VmnUmVEAAAJ> [1] from 2016, to understand how these two modules interact with each other. Back then, the two modules were separate entities. Also, by looking at questions over StackOverflow, people say the new module is not integrated that much with the rest of Sympy. What I understood so far is that the new module is great to ask queries about expressions and their assumption, it is good to refine certain kind of expression, but it is not really good to perform computations with given assumptions... Let me explain with an example: x = symbols("x") a = symbols("a") exp(a * x).integrate(x) This is going to return a piecewise result, with the condition being a=0 or different from 0. Suppose I use the old assumptions system: x = symbols("x") a = symbols("a", nonzero=True) exp(a * x).integrate(x) This is going to produce a single expression. Is there any way to produce the same single-expression result by using the new assumption module? I tried with this code: x = symbols("x") a = symbols("a") with assuming(Q.nonzero(a)): r = exp(a * x).integrate(x) r However, it returns the piecewise result, so the assumption was not applied. In light of this, my questions are: 1. Are the two modules interacting together now? 2. Is the new module able to do everything the old module does? 3. What are the limitation of the new module? Where is it not implemented? Thank you for your time, Davide. [1] https://groups.google.com/forum/#!searchin/sympy/assumptions|sort:date/sympy/AJVZdWnYQww/1VmnUmVEAAAJ -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/d3ba620e-1a3b-4248-b30f-e62989370d8eo%40googlegroups.com.
