[Date Index] [Thread Index] [Author Index]
Re: algebraic numbers
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, 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?? 1.2==12/10 True. (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 mathematica. 1.2==5404319552844595/4503599627370496 True. 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. OK. >> Perhaps you should try to explain yourself why Mathematica gives >> >> In:= Element[1.2, Rationals] >> >> Out= False >> >> In:= Element[1.2, Reals] >> >> Out= 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 >> >> http://en.wikipedia.org/wiki/Computable_number >> 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. Regards RJF ..snip..