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: [mg54365] 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:32:15 -0500 (EST)
  • References: <00ed01c512b0$2f242850$6400a8c0@Main> <curpbn$r28$1@smc.vnet.net> <200502150438.XAA29728@smc.vnet.net> <200502161936.OAA19223@smc.vnet.net> <bc260b75189ab899a75c3a5c65dc0bcf@gmail.com> <4214B60F.2050207@math.umass.edu> <7264774360d595ba92f3e713df810465@mimuw.edu.pl>
  • Sender: owner-wri-mathgroup at wolfram.com

To make this absolutely precise: the distinction is that between syntax 
and semantics. For example 1[2, 3] is a "legal" Mathematica expression 
since it has the correct syntax but semantically it is meaningless. 
Rational[a,b] or Rational[Pi,E] or Complex[Pi,E] are all valid, 
syntactically correct expressions but they are all semantically 
meaningless.


Andrzej Kozlowski



On 18 Feb 2005, at 08:54, Andrzej Kozlowski wrote:

> Obviously this was meant as an illustration of how things "would have 
> worked" had Rational[2,3] not been an Atom! Note the "would have"! 
> Rational[a,b] is just an undefined expression with head Rational and 
> is not an atom.
>
> Andrzej
>
>
> On 17 Feb 2005, at 16:19, Murray Eisenberg wrote:
>
>> Given that Rational[a, b] is, as you say, meaningless, I'm not yet 
>> convinced by your reasoning on grounds of Mathematica consistency!
>>
>> Andrzej Kozlowski wrote:
>>> The reasons why Rational[2,3] or Complex[2,3] are atoms are nor 
>>> really mathematical but come from considering the structure of 
>>> expressions in the Mathematica language and way expressions are 
>>> transformed by various structured operations. To see what I mean 
>>> consider the following list
>>> ls = {1, 2, 3/4, 5 + 6*I, Rational[a, b]};
>>> Note that 3/4 evaluates to the atom Rational[3,4] but Rational[a,b] 
>>> is not an atom and is actually meaningless.
>>> I think most people would agree that we would like all the numbers 
>>> 1.2,3/4 and 5+6I to be treated "in the same way" by various 
>>> structured operations that accept level specifications, such as like 
>>> Map, Apply  etc. This is indeed the case. Consider
>>> In[2]:=
>>> Map[g, ls, -1]
>>> Out[2]=
>>> {g[1], g[2], g[3/4], g[5 + 6*I], g[Rational[g[a], g[b]]]}
>>> You can see the difference between the treatment of the atomic 
>>> Rational[3,4] (or Complex[5,6]) and non-atomic Rational[a,b]. This 
>>> and similar reasons justify treating Rational[3,4] and Complex[5,6] 
>>> as atoms. This is a quite different issue from the one whether  
>>> rationals or complex numbers are in some mathematical sense "atoms" 
>>> or not. A case can be made both for the "yes" and the "no" answer, 
>>> but it has nothing to do with the reason why in Mathematica 
>>> Rational[2,3] and Complex[5,6] are atoms.
>>> Andrzej Kozlowski
>>> On 16 Feb 2005, at 20:36, Murray Eisenberg wrote:
>>>> The manipulations below are precisely what's so confusing about 
>>>> Rational
>>>> objects (and Complex objects) being atoms.  If
>>>>
>>>>    1/2 /. Rational[x_, 2] -> Rational[x, 7]
>>>>
>>>> works, then why not the following?
>>>>
>>>>    Part[Rational[1, 2], 2]
>>>>
>>>> I can "believe" that integers and reals (and maybe strings) are 
>>>> atoms;
>>>> but believing that rationals and complex numbers are atoms is a hard
>>>> thing to swallow!
>>>>
>>>> This has always bothered me -- and hence given me trouble trying 
>>>> to, um,
>>>> rationalize this to students when I've taught Mathematica.
>>>>
>>>>
>>>> Scott Hemphill wrote:
>>>>
>>>>> DrBob <drbob at bigfoot.com> writes:
>>>>>
>>>>>
>>>>>> That explains it, but only in the sense that "things fall down" 
>>>>>> is a theory of gravity. Why should Rationals be atomic, for 
>>>>>> goodness sake? And how did I use Mathematica all this time 
>>>>>> without hearing about it?
>>>>>>
>>>>>> Sigh...
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> In[1]:= FullForm[1/2]
>>>>>
>>>>> Out[1]//FullForm= Rational[1, 2]
>>>>>
>>>>> In[2]:= 1/2 /. Rational[x_,2] -> Rational[x,7]
>>>>>
>>>>>         1
>>>>> Out[2]= -
>>>>>         7
>>>>>
>>>>> Scott
>>>>
>>>>
>>>> -- 
>>>> Murray Eisenberg                     murray at math.umass.edu
>>>> Mathematics & Statistics Dept.
>>>> Lederle Graduate Research Tower      phone 413 549-1020 (H)
>>>> University of Massachusetts                413 545-2859 (W)
>>>> 710 North Pleasant Street            fax   413 545-1801
>>>> Amherst, MA 01003-9305
>>>>
>>>>
>>
>> -- 
>> Murray Eisenberg                     murray at math.umass.edu
>> Mathematics & Statistics Dept.
>> Lederle Graduate Research Tower      phone 413 549-1020 (H)
>> University of Massachusetts                413 545-2859 (W)
>> 710 North Pleasant Street            fax   413 545-1801
>> Amherst, MA 01003-9305
>


  • Prev by Date: Re: Re: Re: Bug Report - Two numerical values for a same variable
  • Next by Date: Re: Perplexed by the behavior of NonlinearFit in Mathematica ver 4.2 vs 5.1
  • Previous by thread: Re: Re: Re: Bug Report - Two numerical values for a same variable
  • Next by thread: Re: Bug Report - Two numerical values for a same variable