Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Re: )


On 12 May 2006, at 15:03, Maxim wrote:

> On Wed, 10 May 2006 11:00:26 +0000 (UTC), Andrzej Kozlowski
> <akoz at mimuw.edu.pl> wrote:
>
>>
>> On 9 May 2006, at 15:35, Maxim wrote:
>>
>>> On Sat, 6 May 2006 06:20:52 +0000 (UTC), Andrzej Kozlowski
>>> <akoz at mimuw.edu.pl> wrote:
>>>
>>>>
>>>> laws of arithmetic do not hold). Some of them are hard to  
>>>> explain: I
>>>> can't see any good reason at all why Infinity^Infinity is
>>>> ComplexInfinity, and it seems to contradict the the most basic rule
>>>> that x^y is always real when x and y are positive reals.  
>>>> Besides, as
>>>> I mentioned earlier, Infinity and ComplexInfinity do not belong
>>>> together in any topological model known to me (you need a
>>>> "topological model" to be able to consider the issue of continuity)
>>>> and should never appear in the same formula. I can only consider  
>>>> this
>>>> as a bug, and a rather silly one.
>>>>
>>>
>>> I think this is as it should be: we need to consider all the  
>>> sequences
>>> converging to Infinity, and, for example, Limit[(x + I*Pi)^x, x ->
>>> Infinity] == -Infinity. So in that sense Infinity^Infinity ==
>>> ComplexInfinity: when z = z1^z2 and z1, z2 go to Infinity the  
>>> absolute
>>> value of z always tends to Infinity but the argument can be  
>>> arbitrary.
>>>
>>> Maxim Rytin
>>> m.r at inbox.ru
>>>
>>
>>
>> One can perhaps make some sense of this even topologically if one
>> assumes  that map {z,w}->z^w has as its target space the Riemann
>> sphere and as its domain the Cartesian product of 2-discs. In other
>> words it is not a map of the form  X x X -> X, as one usually
>> supposes.  But then it is quite a different map from the one that  
>> gives
>>
>> 2^Infinity
>>
>> Infinity
>>
>> and so on. I certainly cannot conceive of any sensible topology on
>> the set that is the union of the complex plane, the set of
>> DirectedInfinities and the point ComplexInfinity, can you? Any such
>> topology would have pretty  shocking properties.... And if there is
>> no topology involved than what is Limit supposed to mean?  Still, I
>> admit, that even if things that don't make any mathematical sense may
>> sometimes be acceptable  in a symbolic algebra program, for purely
>> practical reasons, but then they are pretty likely to lead to
>> confusion and contradictions. This is in fact the current state of
>> affairs in this regard and it makes me feel that the whole
>> Mathematica approach to this business of Infinities  maybe misguided.
>>
>> Of course,  as we are not talking about mathematics or any kind of
>> empirical science this is all ultimately a matter of taste and as we
>> well know there is no accounting for tastes... or sense of humour.
>>
>> Andrzej Kozlowski
>>
>>
>
> I think what Limit could do here in principle is taking the limits of
> Abs[f[z]] and Arg[f[z]] separately. If the limit of the absolute  
> value is
> infinite and the limit of the argument exists, return  
> DirectedInfinity. If
> the limit of the argument doesn't exist, return ComplexInfinity.

First note that you are talking about Limits, while the original  
discussion was about something a bit different (as I discuss below).  
While I think your principle for Limits would be better than what  
Mathematica does now, it is still, in my opinion, a sub-species of  
the following one: given an input for which several interpretations  
are possible choose the one for which the most "useful" answer can be  
given. This principle was used a lot in early versions of  
Mathematica, for example in definite integration, where Mathematica  
would often by itself interpret input in such a way (often requiring  
unstated assumptions) that it enable it to provide an (often  
arguably) sensible answer.  The problems with this approach have  
often been discussed (in particular by yourself) so there is no need  
to repeat this again here.
Beginning with version 4 WRI has been gradually replacing this  
approach with conditional output and the Assumptions mechanism.  I  
think when at all feasible the second approach is much preferable.  
For  a start the user would be able to work in the mathematical  
context that he wishes to: if he wants to work on the extended real  
line or on the Riemann sphere he should be able to decide this  
himself rather than have Mathematica choose for him what it finds  
suitable.

However, there is a different issue involved here: the one Ted Ersek  
originally asked about. This is to do with the way Mathematica  
extends arithmetical operations to various infinite quantities it  
uses. The answers that it returns often disagree with the answer  
Limit gives, and this difference cannot be explained, I think, by the  
fact that Limit assumes a default direction (I suspect, this fact  
also would coexist somewhat uneasily with your principle). We have  
already seen that:


Infinity^Infinity

ComplexInfinity

but note that actually:

Limit[z^z, z -> Infinity]

Infinity

The choice of direction does not make any difference here:


Limit[z^z, z -> Infinity, Direction -> I]

Infinity

Moreover:


Limit[z^z, z -> ComplexInfinity]

Infinity

(I don't get this one)

while

ComplexInfinity^ComplexInfinity

returns Indeterminate.

Here Limit and "direct substitution" agree:


Limit[z^2, z ->ComplexInfinity]

ComplexInfinity


ComplexInfinity^2


ComplexInfinity


on the other hand this:

Limit[2^z, z ->
    ComplexInfinity]

is left unevaluated, rather than returning Indeterminate, as this does:

2^ComplexInfinity

Here is another example where the behaviour of Limit and "direct  
substitution" differ.


p = (1 + z)/(1 + z^2)

p /. z -> ComplexInfinity

Indeterminate expression 0 *ComplexInfinity encountered.
Indeterminate

This is rather unpleasant if you were expecting that your principle  
(or the Riemann sphere model) would be used here. Fortunately this  
works:


Limit[p, z -> ComplexInfinity]

0



So the question that Ted asked seems quite to the point: what are the  
rules governing direct algebraic manipulation of Infinities? it seems  
to me that that there are almost none: basically any answer that  
seemed sensible to whoever programmed  this part of Mathematica is  
returned in a seemingly haphazard way. It seems that neither a  
topological model nor a formal principle like the one you have stated  
is being used, or at least if there is one I can't work it out.

Andrzej Kozlowski
Tokyo, Japan



>
> Currently Mathematica just isn't being very consistent here:
>
> In[1]:= Limit[2^(x + I*Pi/(2*Log[2])), x -> Infinity]
>
> Out[1]= DirectedInfinity[I]
>
> In[2]:= Limit[2^(x + I*Pi/(4*Log[2])), x -> Infinity]
>
> Out[2]= Infinity
>
> The explanation for this can be as follows: if we simplify the limit
> expressions first, the first one yields I*2^x and the second remains
> unchanged. Then substituting x = Infinity yields I*2^Infinity ==
> DirectedInfinity[I] and 2^(Infinity + I*Pi/(4*Log[2])) ==  
> 2^Infinity ==
> Infinity respectively. But in that case it just means that Mathematica
> used some unallowed operations (cannot just substitute x = Infinity  
> as we
> don't have continuity), not that there really is some contradiction.
>
> If we accept the convention of taking the limits of Abs and Arg, then
> Out[1] is correct and Out[2] isn't (should be DirectedInfinity[1 +  
> I]).
> Also then you're quite right that the results for Infinity^Infinity  
> and
> 2^Infinity are inconsistent with each other -- they should be the same
> (either both ComplexInfinity or both Infinity).
>
> Another thing that is needed for completeness is specifying that
> Mathematica always assumes that the limit variable goes along a  
> straight
> line from the origin:
>
> In[3]:= Limit[Re[z], z -> I*Infinity]
>
> Out[3]= 0
>
> This result wouldn't be correct for an arbitrary path: for  
> instance, if z
> = 1 + I*t and t is real, then z also goes to I*Infinity and Re[z]  
> == 1.
>
> Maxim Rytin
> m.r at inbox.ru
>


  • Prev by Date: Re: Re: Re: )
  • Next by Date: How to represent Discrete Signals Symbolically Using Mathematica
  • Previous by thread: Re: Re: Re: )
  • Next by thread: Re: Re: Re: )