On Monday, March 24, 2014 3:42:01 AM UTC-7, Joachim Durchholz wrote: > > Am 24.03.2014 01:58, schrieb Richard Fateman: > > > > Now we must address what is meant by integer. In common lisp, integer > > meansarbitrary precision integer. > > Consequently, every rational number IS an integer/integer. > > [...] > > It seems to me the meanings of words in sympy should correspond to > > their meanings in mathematics not some hack mockery of the word that > > appears in one or even several programming languages. > > Your position seems inconsistent - you derive your idea about the nature > of rational numbers from Common Lisp, yet you denounce exactly that kind > of reasoning as "some hack mockery of the word that appears in [...] > programming languages". >
No, I derive my idea about the nature of rational numbers from standard mathematical definitions. It turns out that Common Lisp implements this. Though I suppose there is a finiteness argument that there are integers whose binary representation is so long that they cannot be stored in your computer's memory. and therefore cause Common Lisp implementations some difficulty. There are also integers whose binary representation is so long that even using all the electrons in the known universe, one cannot write the number out, so it is perhaps just a matter of how you feel about such inherent limits of finiteness of computational devices. Or the universe. > > > It seems to me the meanings of words in sympy should correspond to their > > meanings in mathematics not some hack mockery of the word that appears > in > > one or even several programming languages. The data structure for IEEE > > double-float is used to represent a subset of the rational numbers. > > To paraphrase, IEEE numbers are some hack mockery of the word that > appear in hardware implementations. > um, if the phrase that appears in hardware implementations is IEEE754 binary arithmetic, then it should not be a hack mockery. though of course it might be if it doesn't actually implement it. > > You could also have a data structure for "rational as the ratio of two > > arbitrary precision integers,." > > That's been found fairly useful for symbolic programming. > > Isn't that what SymPy does? > That's my belief. So what you could do is take any "float" and convert it to an exactly equal numeric quantity that is a sympy rational. And you could take that number and convert it to a float. without loss. > > ---- > > Just to demonstrate how far away "meaning in mathematics" is from any > computerized representation, including that of Common List, here's a > short (and probably slightly wrong) description of what rational numbers > "are": > > Going down to the very foundations, rational numbers "are" the minimum > model that satisfies the field axioms (see model theory for the > definition of "minimum" and why "the" minimum exists for these axioms). > You are just making this up. For example, rational numbers arguably have always existed. They were discovered by humans at some time, but certainly before model theory was discovered by humans. > > Most importantly, rationals "are" not a pair of integers, because for > integer pairs, (1,2) != (2,4), but for rationals, 1/2 = 2/4. > Integer pairs are merely a possible *representation* of rationals. > I'll go along with that, and raise you. (1,0) is an integer pair but usually not considered a rational. If you want to be pedantic. > > And now, for fun, the real numbers: > There are models that have been developed by Blum - Schub - Smale for computing with (computable) reals. Probably not of much value to sympy, but you might find that more fun. > > These "are" the minimum model that satisfies the total and the dense > ordering axioms. > why would sympy programmers care if most reals are not computable anyway . No mention of field properties. The real numbers just happen to have the > rational numbers embedded (where "embedded" is a term with a strict > definition in model theory). > I think that real numbers were also discovered before model theory. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/1baedbcc-53e7-40fe-9b12-a608c675a855%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
