Question: Assumptions on Im(z) and complex exponentials

In my code I'm trying to catch the case when a certain limit doesn't exist:

limit(exp(-I*a*z)/a, a = infinity) assuming Im(z) > 0;
                               0

Doesn't work. Strangely, this works:

limit(exp(-I*a*z)/a, a = infinity) assuming Im(z) > 0, z::complex;
                           undefined

But this again doesn't:

limit(cos(a*z)/a, a = infinity) assuming Im(z) > 0, z::complex;
                               0

(because the limit of cos(a*z) returns -1..1).

So then I decide to check the exponents directly:

is(a*Im(z) > 0) assuming a > 0, Im(z) > 0;
                             false

Doesn't work, even though it works for arbitrary f:

is(a*f(z) > 0) assuming a > 0, f(z) > 0;
                              true

I found a construct that works:

signum(Im(a*z)) assuming a > 0, Im(z) > 0;
                               1

Would it be possible to improve the handling of the assumptions on Re/Im though?

 

Please Wait...