Michael Senter
Michael Senter

Reputation: 11

Using SymPy's New Assumptions

I'm having some issues with SymPy's current assumptions. Look at this thread. One of the hints said to use the assume module (reference here).

I tried doing the following computation $\lim_{x \to \infty} \frac{\ln{x}}{x^k}$. I want to evaluate this limit for $k >0$.

So I tried this:

 with assuming(k>0):
     limit((log(x))/(x**k),x,oo)

I also tried this:

eval(limit((log(x))/(x**k),x,oo),k>0)

But regardless, I get this error:

NotImplementedError: Result depends on the sign of -sign(k)

In the case of

with assume(k>0):
    limit((log(x))/(x**k),x,oo)

I get this error:

TypeError: 'module' object is not callable

Any ideas what I'm doing wrong?

Upvotes: 1

Views: 653

Answers (1)

ysakamoto
ysakamoto

Reputation: 2532

This seems to work. The first answer in the thread that you linked says that "The assumption system of SymPy is kind of a mess right now". I'm not sure if that has changed since then.

k = Symbol('k', positive=True)
print limit((log(x))/(x**k),x,oo)

Upvotes: 1

Related Questions