I was just trying to find out the available domain for a function using the following :

FunctionDomain[-((I*a*(-1 + E^(2*I*a*Pi)))/(-1 + a^2)), a, Complexes]

& this unexpectedly returned : -1 + a^2 != 0 whereas I had previously checked :

Limit[-((I*a*(-1 + E^(2*I*a*Pi)))/(-1 + a^2)), a -> 1]

which returned as expected a Pi.

Can someone please explain why FunctionDomain failed? How can one trust it's output when it didn't calculate the limits here? I suspect that I am doing something incorrectly.

Furthermore, I also didn't understand the output of the following :

FunctionDomain[-((I*a*(-1 + E^(2*I*a*Pi)))/(-1 + a^2)), a, Reals] (* False *)

Also, how would someone extract the information about the domain for non-zero range (those values of a where my expression is not zero) in this case?


1 Answer 1


expr = -((I*a*(-1 + E^(2*I*a*Pi)))/(-1 + a^2));

Limit[expr, a -> #] & /@ {-1, 1}

(* {π, π} *)

FunctionDomain[expr, a, Complexes]

(* -1 + a^2 != 0 *)

This indicates that the function is undefined for a = 1 or a = -1. The fact that the limits exist does not indicate that the function is defined for these values.

This is similar to Sin[x]/x which is undefined for x = 0 but the limit as x -> 0 is 1. In this case, Sinc[x] is defined to include the limiting case in the function definition.

FunctionDomain[expr, a, Reals]

(* False *)

This indicates that there are no real values of a for which expr is real.

  • $\begingroup$ Thank you for such a nice explanation. Could you say one more thing here? What if I have to use such an expression in an integral or something? Will I have to be careful about this? One could very well have expressions which are not feasible to be examined by hand. What to do in that case? $\endgroup$
    – Nitin
    May 6, 2020 at 14:46
  • $\begingroup$ Your comment is too general for me to understand. If you have a specific question, post it as a new question. $\endgroup$
    – Bob Hanlon
    May 6, 2020 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.