What we from 1^Infinity, Infinity^0, and similar stuff

Discussion in 'Mathematica' started by ted.ersek, Dec 23, 2005.

  1. ted.ersek

    ted.ersek Guest

    I am using Mathematica 4.1, and version 5 may work different in this case.

    It seems I can compute (1^z) where (z) has any numeric value and
    Mathematica returns the Integer 1. I can also compute (z^0) where (z) is
    any non zero value and Mathematica returns the Integer 1. Hence I think
    the following should return {1,1,1,1,1,1,1}. Can someone explain why that
    would be wrong?

    In[1]:= Off[Power::indet, Infinity::indet];

    {1^Infinity, 1^(-Infinity), 1^ComplexInfinity,
    1^(0*Infinity), Infinity^0, (-Infinity)^0, ComplexInfinity^0}

    Out[2]= {Indeterminate, Indeterminate, Indeterminate, Indeterminate,
    Indeterminate, Indeterminate, Indeterminate}


    Assigning DownValues to Power will not change the way the results above
    are done. However, the UpValues below give the results I prefer. I
    thought some users might find this helpful.

    In[3]:=
    Unprotect[DirectedInfinity, Indeterminate];
    DirectedInfinity/: Power[1, DirectedInfinity[_]]=1;
    DirectedInfinity/: Power[1, DirectedInfinity[]]=1;
    Indeterminate/: Power[1, Indeterminate]=1;
    DirectedInfinity/: Power[DirectedInfinity[_], 0]=1;
    DirectedInfinity/: Power[DirectedInfinity[], 0]=1;
    Protect[DirectedInfinity, Indeterminate];

    In[10]:=
    {1^Infinity, 1^(-Infinity), 1^ComplexInfinity, 1^(0*Infinity),
    Infinity^0, (-Infinity)^0, ComplexInfinity^0}

    Out[10]=
    {1,1,1,1,1,1,1}

    --------------------------------------------
    Note:
    FullForm[Infinity] is DirectedInfinity[1]
    FullForm[ComplexInfinity] is DirectedInfinity[]


    Have a Merry Christmas,

    Ted Ersek
     
    ted.ersek, Dec 23, 2005
    #1
    1. Advertisements

  2. <> a écrit dans le message de dogjvd$pno$...
    |I am using Mathematica 4.1, and version 5 may work different in this case.
    |
    | It seems I can compute (1^z) where (z) has any numeric value and
    | Mathematica returns the Integer 1. I can also compute (z^0) where (z) is
    | any non zero value and Mathematica returns the Integer 1. Hence I think
    | the following should return {1,1,1,1,1,1,1}. Can someone explain why that
    | would be wrong?

    Hi Ted,

    From a mathematical point of view, I am afraid that your hunch is totally
    wrong since you are treating infinity as a number that own a definite
    numeric quantity, perhaps extremely very enormously large but still finite!

    Infinity is NOT a number (http://mathworld.wolfram.com/Infinity.html).

    Expression such as 1^z makes sense (and have a definite meaning) only for
    non-zero value of z. Since infinity is NOT a number, z cannot be equal to
    it. However, z can approaches infinity and the expression 1^z as z
    approaches infinity makes sense. Indeed, we deal with limiting value:

    In[1]:= Limit[1^z, z -> Infinity]
    Out[1]= 1

    Therefore, what is the meaning of an expression such that 1^infinity?

    Mathematically, this is the expression of an indeterminate form that results
    from the computation of the limits of two functions of the form f(x)^g(x)
    and the result is generally not equal to 1
    (http://mathworld.wolfram.com/Indeterminate.html).For example,

    although

    In[1]:= Limit[z, z -> Infinity]
    Out[1]= Infinity

    and

    In[2]:= Limit[1/z + 1, z -> Infinity]
    Out[2]= 1

    concluding that (1/z + 1)^z approaches 1 as z approaches infinity is an
    erroneous conclusion

    In[3]:= Limit[(1/z + 1)^z, z -> Infinity]
    Out[3]= E

    So, redefining the behavior of Mathematica could be a dangerous stand for
    the unforeseeable side effects that might occur in different kind of
    computations yielding unexpected – weird – results in doing some integration
    or differentiations to name a few.

    Best regards,

    /J.M.
     
    Jean-Marc Gulliet, Dec 24, 2005
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.