Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

ComplexInfinity encountered in Mathematica

  1. Jul 11, 2009 #1

    I have the following segement of code:

    Code (Text):
    IA1[N_, k_, n_, sig_, al_] := (
       Sqrt[Pi]*(4*al)^(n + 1))/(sig - s + (2*al))^(NA + k + n + 1)*(
       Gamma[N + k + n + 1]*Gamma[N + k - n - 1])/Gamma[N + k + 0.5]*
       Hypergeometric2F1[N + k + n + 1, n + 1.5, N + k + 0.5, (
        sig - s - 2*al)/(sig - s + 2*al)];
    IA2[N_, k_, n_, sig_, al_] := (Sqrt[Pi]*(4*al)^n)/(sig - s + (2*al))^(
       NA + k + n + 1)*(Gamma[N + k + n + 1]*Gamma[N + k - n + 1])/
       Gamma[N + k + 1.5]*
       Hypergeometric2F1[N + k + n + 1, n + 0.5, N + k + 1.5, (
        sig - s - 2*al)/(sig - s + 2*al)];
    IA[N_, k_, n_, sig_, al_] :=
      2*(N + k - n - 1)*IA1[N, k, n, sig, al] -
       sig*D[IA1[N, k, n, sig, al], s] - 2*al*IA2[N, k, n, sig, al];
    and when I run it, the following error appears:

    Code (Text):
    \[Infinity]::indet: Indeterminate expression 0 ComplexInfinity \
    encountered. >>

    \[Infinity]::indet: Indeterminate expression 0 ComplexInfinity \
    encountered. >>

    \[Infinity]::indet: Indeterminate expression 0 ComplexInfinity \
    encountered. >>
    But I didn't find a situation where we can get ComplexInfinity. Can anyone help me, please?

    Note: the minimum value for N=1, K=0, n=0, and sig and al are essentially greater than zero
    Last edited: Jul 11, 2009
  2. jcsd
  3. Jul 12, 2009 #2


    User Avatar
    Homework Helper

    Hi S_David,

    Inside IA1 you have:

    Code (Text):

    which for the values you are using becomes Gamma[0].
  4. Jul 12, 2009 #3
    Wow, you are absolutely right. I didn't know that Gamma[0] is undefined, too. I thought just for the negative values. In this case we must include an If[] statement for the code to work. Is this a valid step?

    Ok, thanks alot alphysicist, and wish you luck.

    Best Regards
  5. Jul 12, 2009 #4


    User Avatar
    Homework Helper

    Sure, glad to help!

    I'm not sure what you are calculating, so I can't say that an If statement is the right thing to do. I can't see that there is anything wrong with it, though. I have done calculations in the past that blew up at the origin and just did a quick If branch to get through it.
  6. Jul 12, 2009 #5
    If we have the following expression [tex]f(x)=\frac{1}{\sqrt{x}}[/tex], then the domain must be [tex]x>0[/tex], because for other values the function doen't exist in the real axis. I think we can say the same in my problem, because there is no other way to overcome the problem. I am computing the Moment Generating Function (MGF) to compute the Symbol Error Rate in a wireless communication system.

  7. Jul 12, 2009 #6


    User Avatar
    Homework Helper

    Here's what I essentially did the last time I ran into this type of problem. The problem was essentially along the lines of:


    which has a finite limit at [itex]x=0[/itex], but the computer does not want to divide by zero. So I just calculated the limit by hand and put it in an If statement.

    However, I did that just because it was straightforward. Your problem looks more difficult, so maybe you would want to see if mathematica can calculate the limit, if that's what needed? Or do you already know the value, or can you just skip that value altogether? Those considerations will tell you the right approach.
  8. Jul 12, 2009 #7
    After double check, the term [tex](N+k-n-1)\ge 0[/tex], because the maximum value of [tex]n[/tex] is [tex]N+k-1[/tex]. I tried to write the limit as [tex]n\longrightarrow N+k-1[/tex] but Mathematica didn't compute it, and gives ComplexInfinity again. I am not sure if I can calculate it manually, it seems complicated.

    I don't know where, but I am sure that I have something wrong, because when I run the program, after writting the If statement, I got negative answers, which must not occur in my case, because the SER is in the range of [tex][0,1][/tex] by definition.

    Best regards
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook