MathGroup Archive 2005

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

Search the Archive

Re: Re: Re: Bug Report - Two numerical values for a same variable

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54350] Re: [mg54300] Re: [mg54271] Re: Bug Report - Two numerical values for a same variable
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Sat, 19 Feb 2005 02:31:50 -0500 (EST)
  • References: <00ed01c512b0$2f242850$6400a8c0@Main> <curpbn$r28$1@smc.vnet.net> <200502150438.XAA29728@smc.vnet.net> <200502161936.OAA19223@smc.vnet.net> <d3d3aacf7f18939828890ce85676bd26@mimuw.edu.pl> <opsmcn3rqciz9bcq@monster> <07c9f53bde86ce72650298f7c2a6ccbc@mimuw.edu.pl> <opsmcqckt8iz9bcq@monster>
  • Sender: owner-wri-mathgroup at wolfram.com

O.K. I will try to explain it very slowly. Sigh.

Complex[Pi,E] does not have any meaning in Mathemaitca at all. Neither 
does Complex[Sqrt[2],Sqrt[3]] etc. Complex[a,b] only has a meaning when 
a and b are real numbers (exact or approximate).

The reason, that I tried to explain was this. There is no point 
defining just  Complex[Pi,E] and a few other obvious cases. Either you 
are going to allow all real numerics or you have to disallow all of 
them except those that are actually real numbers. This is the crucial 
point. If you were to allow real numeric expressions in Complex[a,b] 
then you would have to be able to determine whether an arbitrary 
numeric expression is real or not. While it is easy to do for Pi and E 
it is equally easy to produce a radical (for example), of which it is 
highly not trivial to decide if it is real or not. If you don't believe 
it I can construct one for you, but really ...
So, in the case of such a radical m there would be no way to decide 
whether Complex[m,m] is meaningful or meaningless. Further more as you 
started manipulating such expressions things would get worse and worse. 
So, the only thing to do is to disallow all non-numbers in 
Complex[a,b]. I am therefore not just saying that Complex[Pi,E] is not 
numeric, I am saying it has no meaning in Mathematica at all, it is 
just a compound symbol. On the other hand Pi+I E is numeric but is not 
a complex number in Mathematica's sense. It is not a complex number 
just as Pi is not a number, but both are numeric. All numbers in 
Mathematica are atoms, but not all numerics are Stoms. Pi is a numeric 
but it is also a Symbol, and hence it is an Atom. On the other hand 
Pi+I E is numeric but it is not an Atom because it is not a Symbol and 
is not a number; it is an expression with Head Plus.


Of course all of these statements refer to the design of the language. 
To me they seem perfectly logical and natural. To you presumably not. 
Well, then there is nothing else to say.


Andrzej Kozlowski


On 17 Feb 2005, at 18:18, DrBob wrote:

> All that was very puzzling. You're saying Pi+E I is numeric but 
> Complex[Pi,E] isn't because...
>
> Umm...
>
> I've got no idea what your reasoning is.
>
>>> Complex[a,b] when a and b are numeric quantities, such
>>> as Pi or E or others is not numeric
>
> Because... because why?
>
>>> Complex[a,b] where a and b are non real is meaningless
>
> But Pi and E _are_ real.
>
> Are you saying Mathematica doesn't know that?
>
>>> Complex[Pi,E] (unlike Pi+ I E to which it is not equal [to]
>
> Why aren't they equal?
>
> We're really back to "things fall down" to explain gravity.
>
> Bobby
>
> On Thu, 17 Feb 2005 17:50:28 +0100, Andrzej Kozlowski 
> <akoz at mimuw.edu.pl> wrote:
>
>> *This message was transferred with a trial version of CommuniGate(tm) 
>> Pro*
>> On 17 Feb 2005, at 17:29, DrBob wrote:
>>
>>> Your "structure" argument is too vague to be useful.
>>
>> Whether useful or not it is true.
>>
>>
>>> NumericQ[Pi + E*I]
>>> NumericQ[Complex[Pi, E]]
>>> True
>>> False
>>>
>>> The last result, at least, seems unambiguously wrong.
>>
>>
>> It is not only right but it is the only sensible possibility.
>> In Mathematica Complex[a,b] when a and b are numeric quantities, such
>> as Pi or E or others is not numeric but meaningless. It has to be
>> meaningless because Complex[a,b] where a and b are non real is
>> meaningless. However, if a and b are numeric but not numbers
>> Mathematica would have to use FullSimplify or high precision 
>> arithmetic
>> to determine if they are real or have non zero imaginary parts (and it
>> may not be able to do so anyway).
>> So until it was determined that a and b have zero imaginary parts
>> Complex[a,b] would have to be like the Schroedinger cat that is 
>> neither
>> dead nor alive: neither meaningful nor meaningless. That's is
>> definitely not the way to make a computer algebra program work. So
>> Complex[Pi,E] (unlike Pi+ I E to which it is not equal
>>
>> In[24]:=
>> Complex[Pi, E] == Pi + I*E
>>
>> Out[24]=
>> Complex[Pi, E] == I*E + Pi )
>>
>> is meaningless. Hence it is not numeric and it is you and not
>> Mathematica that is "unambiguously wrong".
>>
>> Andrzej Kozlowski
>>
>>
>>
>>
>
>
>
> -- 
> DrBob at bigfoot.com
> www.eclecticdreams.net
>
>


  • Prev by Date: Re: Re: Re: Bug Report - Two numerical values for a same variable
  • Next by Date: Re: Re: Re: Bug Report - Two numerical values for a same variable
  • Previous by thread: Re: Re: Re: Bug Report - Two numerical values for a same variable
  • Next by thread: Re: Re: Re: Re: Bug Report - Two numerical values for a same variable