MathGroup Archive 2010

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

Search the Archive

Re: algebraic numbers

  • To: mathgroup at
  • Subject: [mg106295] Re: algebraic numbers
  • From: Richard Fateman <fateman at>
  • Date: Thu, 7 Jan 2010 02:33:33 -0500 (EST)
  • References: <> <hhpl0g$9l1$> <> <> <op.u52ai6jwtgfoz2@bobbys-imac.local> <> <hi1qit$etn$>

Andrzej Kozlowski wrote:
> Just one more comment, I hope my last one on this subject. Obviously 
> RandomReal make it choices out of a countable set of entities. One would 
> have to be insane to claim otherwise and I am not that yet.
> But, Mathematica does not regard these entities as rational numbers and 
> so they are not that. If you call them rationals the it does not make 
> *mathematical* sense (because rationals have measure 0). So, if 
> Mathemaitca does not regard them as rationals they are not rationals. 

You can refer to Rationals as whatever Mathematica 
calls Rationals.  But the rational numbers include all numbers that are
represented by finite explicit binary strings in a floating-point 
format.  They also include other numbers whose binary expansions are 
infinite, but repeat.

Can Mathematica represent Reals that are NOT RATIONAL?  Sure.  Here are
examples: Sqrt[2],  3*Pi, 4*E.  3*E +4*E^E + 5*E^E^E.
Incidentally, it is not known if E+Pi is rational.

> How could they be that ? Until they are interpreted by Mathematica, they 
> are not numbers at all but just some data stored in computer memory - 
> which are not numbers of any kind.
true, but other programs can also interpret them. As numbers, as ASCII 
character strings, as pointers into memory.
  Mathematica interprets them as
> non-computable irrationals 

No, that's not the way computer programs work.  Mathematica allows some 
set of operations like +, *, printing. That's all.  They are obviously
computable and finitely representable as well, but Mathematica doesn't
need to have an opinion on this, and neither do we have to attribute 
opinions to Mathematica.

If you think that the operations that Mathematica performs are 
consistent with YOUR view that these numbers are non-computable 
irrationals, I suppose that is your view, but it is certainly
unnecessary for others to hold this view.

in order to make mathematical sense when
> returning them while simulation a real distribution, because all other 
> numbers have measure 0.

There is a literature on pseudo-random numbers that makes mathematical 
sense without any such interpretation.
> This is all about "simulating mathematics" - numbers do not live in any 
> sense inside computers. To say that "all computer numbers are rational" 
> is weird - there is no such things as "computer numbers". Numbers exist 
> only and (probably) exclusively in the human mind.

Actually, you just said that Mathematica interprets --blah blah.  Maybe
you think that Mathematica has a human mind?
> To say that 1.2 is rational in Mathematica even if Mathematica says
> Element[1.2, Rationals]
> False
> does not make any sense at all.

It makes perfect sense to say (in Mathematica) that 1.2 is a rational 
number because it is equal to a rational number. Huh??

(A better example would be 1.25, since 1.2 is not representable exactly 
in binary.  This example of 1.2 actually reveals a "misfeature of 


So 1.2 is actually Mathematica-equal to another rational number. Many, 
in fact.

If you capitalize the term and wish to say that 1.2 is not a Rational
in Mathematica, that is just a convention based on the "type" of data 
that is input to Mathematica with a decimal point and is therefore 
stored in a memory format that is labeled "Real" which (in Mathematica)
is a superclass of "Rational".  That is, "1/2" is a Rational but is also 
a Real and is incidentally also a Complex. But 0.5 is not a Real.

This categorization of types in Mathematica does not determine the 
membership (or not) of a particular numeric VALUE in a mathematical 
category such as "rational".  From a mathematical perspective, any
legal number in an ordinary floating-point format can represent only a 
rational value.

> Andrzej Kozlowski
> On 6 Jan 2010, at 07:04, Andrzej Kozlowski wrote:
>> Well, you are obviously misunderstanding  what I am trying to explain 
> but I have no desire to spend any more time on it. I give up.


>> Perhaps you should try to explain yourself why Mathematica gives
>> In[1]:= Element[1.2, Rationals]
>> Out[1]= False
>> In[2]:= Element[1.2, Reals]
>> Out[2]= True

the explanation is that Mathematica takes numbers written with a decimal 
point and labels them "Real".  This has nothing to do with their values,
which are, most assuredly, equal to rational numbers.  And in 
particular, 1.2==12/10 in Mathematica should trouble you if you believe
Mathematica speaks meaningfully on these issues.

>> and you might also read
But this would be irrelevant.

The Mathematica documentation says,
"When domain membership cannot be decided the Element statement remain 
[sic] unevaluated".

"cannot be decided"
  is not a statement about decidability in the technical "computability" 
sense.  It is a statement about this version of Mathematica not being 
programmed to make a decision.  Thus the fact that Mathematica 6.0 
cannot decide if e+pi is rational is not a deep result, and it is 
referring to the mathematical literature about conjectures on the 
matter. It just happens that the program fails to decide.  The program 
seems to be a jumble of some sort, since it knows that

Mathematica 6.0 does not know e^e is definitely NOT Rational. (It is 
known not to be rational).

It just hasn't been programmed. Yet. It would be nice if the 
documentation were clearer on this.



  • Prev by Date: Re: Re: Re: Re: algebraic numbers
  • Next by Date: Re: Re: Re: Re: algebraic numbers
  • Previous by thread: Re: Re: Re: algebraic numbers
  • Next by thread: Re: Re: algebraic numbers