MinimalPolynomial[Sqrt[2] + Sqrt[3] + Sqrt[5], x]
returns the polynomial : 576 - 960 x^2 + 352 x^4 - 40 x^6 + x^8 as
expected
Now suppose we only know the N first figures of x (N large enough), say
: N[x,50] = 5.3823323474417620387383087344468466809530954887989
is it possible to recognize x as a probably algebraic number and to
deduce its minimal polynomial ?
Thanks for a hint,
ahautot
x = Sqrt[2] + Sqrt[3] + Sqrt[5];
RootApproximant /@ Table[N[x, n], {n, 30, 35}] // ColumnForm
Bob Hanlon
---- Andre Hautot <aha...@ulg.ac.be> wrote:
=============
z= 5.3823323474417620387383087344468466809530954887989;
In[1]:= RootApproximant[z,8]
Out[1]= Root[576-960 #1^2+352 #1^4-40 #1^6+#1^8&,8] (* you get back
your minimal polynomial in one stroke *)
In[2]:= ToRadicals[%,8]]
Out[2]= Sqrt[2 (5+Sqrt[15]+2 Sqrt[4+Sqrt[15]])]
In[3]:= RootReduce[% ==Sqrt[2]+Sqrt[3]+Sqrt[5]] (* check *)
Out[3]= True
Notice that RootApproximant stabilizes after s=8
In[4]:= Table[RootApproximant[z, s], {s, 7, 10}]
Out[4]= {Root[421813 + 165807 #1 + 636917 #1^2 + 855877 #1^3 - 1050961
#1^4 -
172764 #1^5 - 22412 #1^6 + 15697 #1^7 &, 3],
Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8],
Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8],
Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8]}
However there are many (!) algebraic numbers that share the same first
N digits...
If you give less digits for z, you will get another candidate for the
minimal polynomial.
In[5]:= Table[RootApproximant[N[z,s],8],{s,25,27}]
Out[5]= {
Root[443+275 #1+146 #1^2-261 #1^3+234 #1^4-13 #1^5-340 #1^6-126
#1^7+35 #1^8&,2],
Root[576-960 #1^2+352 #1^4-40 #1^6+#1^8&,8],
Root[576-960 #1^2+352 #1^4-40 #1^6+#1^8&,8]}
In any case, you will get get an answer (a polynomial) even if x is
not algebraic, whatever the number of digits you give.
In[6]:= Table[RootApproximant[N[Pi,10],s],{s,8,10}]
Out[6]= {Root[5-#1+7 #1^2-14 #1^3-3 #1^4-#1^5+#1^6&,2],Root[1+#1+6
#1^2+#1^3-5 #1^4-5 #1^5+2 #1^6&,2],Root[1+#1+6 #1^2+#1^3-5 #1^4-5
#1^5+2 #1^6&,2]}
To recognize a number x as algebraic, from its N first figures, is
impossible.
And to recognize it as "probably algebraic", as you write, does not
make much sense to me (using measure theory would give probability 0,
anyway).
Now, if you already know that, for some reason, x is algebraic, like
in your example, using RootApproximant may help you to recognize it.
Robert
Le 29 d=E9c. 09 =E0 07:20, Andre Hautot a =E9crit :
> x= Sqrt[2] + Sqrt[3] + Sqrt[5] is an algebraic number
>
> MinimalPolynomial[Sqrt[2] + Sqrt[3] + Sqrt[5], x]
>
> returns the polynomial : 576 - 960 x^2 + 352 x^4 - 40 x^6 + x^8 as
> expected
>
> Now suppose we only know the N first figures of x (N large enough), =
In[1]:= RootApproximant[5.3823323474417620387383087344468466809530954887989]
Out[1]= Root[576 - 960*#1^2 + 352*#1^4 - 40*#1^6 + #1^8 & , 8]
David
In[6]:= RootApproximant[5.3823323474417620387383087344468466809530954887989]
Out[6]= Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8]
Carl Woll
Wolfram Research
I have the impression that in your case the MinimalPolynomial is simply
x-N.
If you add a figure to N, let say ......9891, you will get a different
polynomial.
__________ Information from ESET Smart Security, version of virus signature database 4725 (20091229) __________
The message was checked by ESET Smart Security.
If you have older version 5 you can use inspite RootApproximant function
Recognize
Best wishes
Artur
Andre Hautot pisze:
> x= Sqrt[2] + Sqrt[3] + Sqrt[5] is an algebraic number
>
> MinimalPolynomial[Sqrt[2] + Sqrt[3] + Sqrt[5], x]
>
> returns the polynomial : 576 - 960 x^2 + 352 x^4 - 40 x^6 + x^8 as
> expected
>
> Now suppose we only know the N first figures of x (N large enough), say
> : N[x,50] = 5.3823323474417620387383087344468466809530954887989
>
> is it possible to recognize x as a probably algebraic number and to
> deduce its minimal polynomial ?
>
5.3823323474417620387383087344468466809530954887989 // RootApproximant
Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8]
5.38233234744176203873830873444684668095309548879891 // RootApproximant
Root[576 - 960 #1^2 + 352 #1^4 - 40 #1^6 + #1^8 &, 8]
This is a little like those idiotic SAT and GRE questions that ask "What's
the next number in the following series?"... where any number will do.
Test writers don't seem to know there's an interpolating polynomial (for
instance) to fit the given series with ANY next element.
Bobby
On Wed, 30 Dec 2009 03:12:00 -0600, Francesco <fra...@gmail.com> wrote:
>
> "Andre Hautot" <aha...@ulg.ac.be> ha scritto nel messaggio
> news:hhc7a1$2o2$1...@smc.vnet.net...
> I have the impression that in your case the MinimalPolynomial is simply
> x-N.
>
> If you add a figure to N, let say ......9891, you will get a different
> polynomial.
>
>
>
> __________ Information from ESET Smart Security, version of virus
> signature database 4725 (20091229) __________
>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
>
>
>
Le 30 d=E9c. 2009 =E0 18:11, Daniel Lichtblau a =E9crit :
>
>> To recognize a number x as algebraic, from its N first figures, is
>> impossible.
>
> Not at all. There are polynomial factorization algorithms based on
> this notion (maybe you knew that).
>
> Daniel Lichtblau
> Wolfram Research
I'm not intending to argue with anyone here, but I wanted to elaborate a
bit on what had been a quick remark. To some people this may well be
familiar.
There is a long history of studying integer relations amongst approximate
reals. It is regarded as a generalization of continued fractions, among
other things. Anyway, based on the question posed, I'm pretty sure this
type of relation finding is what the original poster was seeking.
The fact that approximate numbers are arbitrarily close to, well, anything
nearby (all of which, except a measure zero set, being transcendental), is
sorta obvious, and also largely irrelevant. What matters is that there are
good number-theoretic (and really also measure theoretic) bounds that show
"random" numbers cannot be too close to algebraic numbers once one places
bounds on degree and coefficient size. Recognizing "good' algebraic number
approximants has its uses. I would say that lattice reduction is to
computational math what NSAIDs (aspirin et al) are to pain relief.
For reference, check fork by Helaman Ferguson. Look for his older work, on
an algorithm called PSLQ; his more recent work is in sculpture. Also see
the Lenstra, Lenstra, Lovasz paper that introduced lattice reduction
(known as LLL, for obvious reasons).
Daniel Lichtblau
Wolfram Research
> --
> DrMaj...@yahoo.com
>
> This is a little like those idiotic SAT and GRE questions that ask "What's
> the next number in the following series?"... where any number will do.
> Test writers don't seem to know there's an interpolating polynomial (for
> instance) to fit the given series with ANY next element.
Explanations in terms of epicycles may be mathematically adequate in a
narrow sense, but an explanation in terms of a single principle
applied repeatedly is to be preferred in science. The ability to
recognize such a principle is important.
And my mathematical logician son (who's looking over my shoulder)
directed me to http://www.research.att.com/~njas/sequences/ for
research on this topic. When he encounters such a sequence in his
research, he finds that knowledge of a simple genesis for the sequence
can lead to further insight.
No... you will have identified an algebraic number that agrees with x, to
N figures.
OTOH, every computer Real is rational, so they're all algebraic.
Bobby
On Thu, 31 Dec 2009 02:17:22 -0600, Robert Coquereaux
target = {1, 2, 3, 6, 11, 23, 47, 106, 235};
Searching yielded "A000055 Number of trees with n unlabeled nodes."
I tried a few Mathematica functions on it:
FindLinearRecurrence@target
FindLinearRecurrence[{1, 2, 3, 6, 11, 23, 47, 106, 235}]
(fail)
FindSequenceFunction@target
FindSequenceFunction[{1, 2, 3, 6, 11, 23, 47, 106, 235}]
(fail)
f[x_] = InterpolatingPolynomial[target, x]
1 + (1 + (1/
3 + (-(1/
12) + (7/
120 + (-(1/
60) + (1/144 - (41 (-8 + x))/20160) (-7 + x)) (-6 +
x)) (-5 + x)) (-4 + x)) (-3 + x) (-2 + x)) (-1 + x)
and now the next term:
Array[f, 1 + Length@target]
{1, 2, 3, 6, 11, 23, 47, 106, 235, 322}
But, unsurprisingly, the next term in A000055 is 551, not 322.
A000055 actually starts with another three 1s, but that doesn't change
things much:
target = {1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235};
FindLinearRecurrence@target
FindLinearRecurrence[{1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235}]
(fail)
FindSequenceFunction@target
FindSequenceFunction[{1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235}]
(fail)
f[x_] = InterpolatingPolynomial[target, x]
1 + (1/24 + (-(1/
40) + (1/
90 + (-(1/
280) + (1/
1008 + (-(43/
181440) + (191/3628800 - (437 (-11 + x))/
39916800) (-10 + x)) (-9 + x)) (-8 + x)) (-7 +
x)) (-6 + x)) (-5 + x)) (-4 + x) (-3 + x) (-2 + x) (-1 +
x)
Array[f, 1 + Length@target]
{1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235, -502}
So I ask you, from the data alone: what's the next term?
If one had the Encyclopedia of Integer Sequences handy, those SAT
questions could be interesting. But they'd still be nonsense.
Bobby
>
> On 1 Jan 2010, at 19:36, DrMajorBob wrote:
>
>> "If so, you will indeed have recognized the number x as algebraic, from
>> its first N figures."
>>
>> No... you will have identified an algebraic number that agrees with x, to
>> N figures.
>>
>> OTOH, every computer Real is rational, so they're all algebraic.
>>
>> Bobby
>
> Well, actually Mathematica does not agree with your last assertion:
>
> Head[1.12]
>
> Real
>
> Element[1.12, Rationals]
>
> False
>
> Element[1.12, Reals]
>
> True
>
> In fact it seems clear that the designers of Mathematica have decided to interpret all approximate numbers (with head Real) as approximations to irrationals rather than as finite expansions of rationals. The only rationals in Mathematica are indeed the ones that have the head Rational, i.e. fractions.
>
> Andrzej Kozlowski
>
>
I forgot to add why I think this is justified. Note that the function
RandomReal[]
0.691808
Returns an approximate number between 0 and 1. This is supposed to
represent a real number from the interval between 0 and 1 returned by a
random variable with uniform distribution. But clearly as the rationals
are a set of measure 0, such a number ought always to be an irrational.
Thus it is natural to regard all approximate reals as (approximations
to) irrationals.
I don't think this is an issue of any real importance but I think the
seemingly strange looking behaviour of Element is mathematically well
justified.
Andrzej Kozlowski
> "If so, you will indeed have recognized the number x as algebraic, from
> its first N figures."
>
> No... you will have identified an algebraic number that agrees with x, to
> N figures.
>
> OTOH, every computer Real is rational, so they're all algebraic.
>
> Bobby
Well, actually Mathematica does not agree with your last assertion:
Head[1.12]
Real
Element[1.12, Rationals]
False
Element[1.12, Reals]
True
In fact it seems clear that the designers of Mathematica have decided to interpret all approximate numbers (with head Real) as approximations to irrationals rather than as finite expansions of rationals. The only rationals in Mathematica are indeed the ones that have the head Rational, i.e. fractions.
Andrzej Kozlowski
>
> On Thu, 31 Dec 2009 02:17:22 -0600, Robert Coquereaux
> <robert.c...@gmail.com> wrote:
>
>> "Impossible....Not at all"
>> I think that one should be more precise:
>> Assume that x algebraic, and suppose you know (only) its first 50
>> digits. Then consider y = x + Pi/10^100.
>> Clearly x and y have the same first 50 digits , though y is not
>> algebraic.
>> Therefore you cannot recognize y as algebraic from its first 50 digits !
>> The quoted comment was in relation with the question first asked by
>> hautot.
>> Now, it is clear that, while looking for a solution x of some
>> equation (or definite integral or...), one can use the answer obtained
>> by applying RootApproximant (or another function based on similar
>> algorithms) to numerical approximations of x, and then show that the
>> suggested algebraic number indeed solves exactly the initial problem.
>> If so, you will indeed have recognized the number x as algebraic, from
>> its first N figures.
It's the sort of question where one might expect a specialist to
recognize a familiar sequence. It's all context.
Consider that in a narrow mathematical sense, spectroscopy is an
utterly ambiguous, "ill conditioned" problem. But show me a gigagauss
cyclotron spectrum, and I'll recognize it as such (see the
acknowledgment at the end of arxiv.org/pdf/astro-ph/0306189: the
authors were struggling to contrive an interpretation from atomic
physics before one of them showed the spectrum to me). But I expect
very few could do this, since few have the background.
>
> If one had the Encyclopedia of Integer Sequences handy, those SAT
> questions could be interesting. But they'd still be nonsense.
No they are not. Remember that the SAT isn't about the ability of a
student to function in some ideal abstract world of infinite
possibility. In the real world of academia, every single question they
will encounter will be ambiguous in some sense. The issue here is
whether the student has enough common culture with the test writer to
find the same answer. And that's *always* an issue.
>
> Bobby
>
>
>
> On Fri, 01 Jan 2010 04:32:58 -0600, Noqsi <j...@noqsi.com> wrote:
> > On Dec 31, 1:16 am, DrMajorBob <btre...@austin.rr.com> wrote:
>
> >> This is a little like those idiotic SAT and GRE questions that ask
> >> "What's
> >> the next number in the following series?"... where any number will do.
> >> Test writers don't seem to know there's an interpolating polynomial (for
> >> instance) to fit the given series with ANY next element.
>
> > Explanations in terms of epicycles may be mathematically adequate in a
> > narrow sense, but an explanation in terms of a single principle
> > applied repeatedly is to be preferred in science. The ability to
> > recognize such a principle is important.
>
> > And my mathematical logician son (who's looking over my shoulder)
> > directed me tohttp://www.research.att.com/~njas/sequences/for
> > research on this topic. When he encounters such a sequence in his
> > research, he finds that knowledge of a simple genesis for the sequence
> > can lead to further insight.
>
> --
Bobby
On Sat, 02 Jan 2010 04:03:30 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
Mathematica Reals contain the Rationals.
Element[2/3, Reals]
True
So a Rational belongs to the Reals but is not of the type Real.Also
Element[2/3, Rationals]
True
Element[1.2, Rationals]
False
I understand that what you mean is something completely different -
because Mathematica approximate numbers have only finite digits they are
"rationals". But this is really only a matter of how you choose to
interpret them: Mathematica interprets them as the first digits of
irrational numbers whose remaining digits are unknown (but there are
always infinitely many of them and they do not repeat themselves).
This is quite a consistent approach and in fact the only one that
justifies using approximate numbers in continuous probability
distributions.
Philosophically speaking, we cannot be sure that that is not exactly
what we do in our own minds when we thing of "real numbers" - our brains
are quite possibly only finite state automata and our reals are also
approximations to "reals" most of whose digits always remain unknown. So
I am not convinced that there is in this respect any fundamental
difference between humans and computers.
And by the way, reals numbers such as Pi or Sqrt[2], for which you have
a method which computes their digits as far as you wish to do are also
countable and form a set of measure zero. Most of real numbers are not
computable, either by computers or by us.
> If one had the Encyclopedia of Integer Sequences handy, those SAT
> questions could be interesting. But they'd still be nonsense.
I think only their wording should be changed to something like: "find
the simplest formula generating the sequence ... where simplest means
requiring the least number of standard mathematical symbols to write
down". These kind of questions, of course, should probably allow the
possibility that the person answering the question finds an answer that
is simpler than the expected one.
Bobby
On Sun, 03 Jan 2010 02:42:21 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
>
So those are cultural conformity questions?!?
That's even worse than I thought!
Bobby
>> If one had the Encyclopedia of Integer Sequences handy, those SAT
>> questions could be interesting. But they'd still be nonsense.
>
StringLength["fill in the first bubble"]
24
So, if we also include them in the simplicity test, this one is probably
not going to pass.
On 4 Jan 2010, at 07:38, DrMajorBob wrote:
> The simplest algorithm for determining "what's the next term" is
simply "fill in the first bubble".
>
> Bobby
>
> On Sun, 03 Jan 2010 02:42:21 -0600, Andrzej Kozlowski
<ak...@mimuw.edu.pl> wrote:
>
>>
>> On 2 Jan 2010, at 19:05, DrMajorBob wrote:
>>
>>> If one had the Encyclopedia of Integer Sequences handy, those SAT
>>> questions could be interesting. But they'd still be nonsense.
>>
SNIP
> Philosophically speaking, we cannot be sure that that is not exactly
> what we do in our own minds when we thing of "real numbers" - our brains
> are quite possibly only finite state automata and our reals are also
> approximations to "reals" most of whose digits always remain unknown. So
> I am not convinced that there is in this respect any fundamental
> difference between humans and computers.
SNIP
On the other hand, perhaps our intellect does work with the Reals. (If
the mind can handle some precision, why not all precision?)
Which would suggest, at least, a different order of computation.
Not merely Super, but Hyper.
(
In debt to Stephen Wolfram's latest novelty essay for this concept.
http://www.stephenwolfram.com/publications/recent/fqxi09/
)
Vince Virgilio
Only in the shallow sense that there is a low entropy mapping between
computer "reals" and rational numbers in the intervals they represent.
But computer "reals" don't behave arithmetically like rationals or the
abstract "reals" of traditional mathematics. This fact often causes
confusion.
One might not need to conform, but one must at least understand the
culture. Mathematics is a human cultural artifact, and students are
going to need to understand some things about that artifact and its
expression to be successful in college.
Specifically in this case series are often presented as specific terms
and ellipsis, judged to be easier to comprehend in some ways than a
formula, so the student should be able to comprehend that form.
And this continues into professional life. Today I'm looking over the
specs of a megapixel image sensor. The drawings that document its
structure contain "..." in a number of places: it's not practical to
show every pixel! I can, of course, think of all kinds of perverse and
stupid ways to misunderstand what's omitted, but that wouldn't be
helpful in any way.
>
> That's even worse than I thought!
It's still worse. The intentions behind the widespread adoption of the
SAT didn't really address the need to establish that the student could
comprehend the academic cultural context: instead, they were
consciously bigoted.
http://www.newyorker.com/archive/2001/12/17/011217crat_atlarge
>
> Bobby
>
>
>
> On Sun, 03 Jan 2010 02:40:36 -0600, Noqsi <j...@noqsi.com> wrote:
> > On Jan 2, 3:05 am, DrMajorBob <btre...@austin.rr.com> wrote:
> >> When I clicked on the link below, the search field was already filled =
> >> with
> >> the sequence
>
> >> target = {1, 2, 3, 6, 11, 23, 47, 106, 235};
>
> >> Searching yielded "A000055 Number of trees with n unla=
beled
> >> nodes."
>
> >> I tried a few Mathematica functions on it:
>
> >> FindLinearRecurrence@target
>
> >> FindLinearRecurrence[{1, 2, 3, 6, 11, 23, 47, 106, 235}]
>
> >> (fail)
>
> >> FindSequenceFunction@target
>
> >> FindSequenceFunction[{1, 2, 3, 6, 11, 23, 47, 106, 235}]
>
> >> (fail)
>
> >> f[x_] = InterpolatingPolynomial[target, x]
>
> >> 1 + (1 + (1/
> >> 3 + (-(1/
> >> 12) + (7/
> >> 120 + (-(1/
> >> 60) + (1/144 - (41 (-8 + x))/20160=
) (-7 + x)) (-6 +
> >> x)) (-5 + x)) (-4 + x)) (-3 + x) (-=
2 + x)) (-1 + x)
>
> >> and now the next term:
>
> >> Array[f, 1 + Length@target]
>
> >> {1, 2, 3, 6, 11, 23, 47, 106, 235, 322}
>
> >> But, unsurprisingly, the next term in A000055 is 551, not 322.
>
> >> A000055 actually starts with another three 1s, but that doesn't change
> >> things much:
>
> >> target = {1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235};
>
> >> FindLinearRecurrence@target
>
> >> FindLinearRecurrence[{1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235}]
>
> >> (fail)
>
> >> FindSequenceFunction@target
>
> >> FindSequenceFunction[{1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235}]
>
> >> (fail)
>
> >> f[x_] = InterpolatingPolynomial[target, x]
>
> >> 1 + (1/24 + (-(1/
> >> 40) + (1/
> >> 90 + (-(1/
> >> 280) + (1/
> >> 1008 + (-(43/
> >> 181440) + (191/3628800 - (4=
37 (-11 + x))/
> >> 39916800) (-10 + x)) (-9 + =
x)) (-8 + x)) (-7 +
> >> x)) (-6 + x)) (-5 + x)) (-4 + x) (-3 + x) =
(-2 + x) (-1 +
> >> x)
>
> >> Array[f, 1 + Length@target]
>
> >> {1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235, -502}
>
> >> So I ask you, from the data alone: what's the next term?
>
> > It's the sort of question where one might expect a specialist to
> > recognize a familiar sequence. It's all context.
>
> > Consider that in a narrow mathematical sense, spectroscopy is an
> > utterly ambiguous, "ill conditioned" problem. But show me a gigagauss
> > cyclotron spectrum, and I'll recognize it as such (see the
> > acknowledgment at the end of arxiv.org/pdf/astro-ph/0306189: the
> > authors were struggling to contrive an interpretation from atomic
> > physics before one of them showed the spectrum to me). But I expect
> > very few could do this, since few have the background.
>
> >> If one had the Encyclopedia of Integer Sequences handy, those SAT
> >> questions could be interesting. But they'd still be nonsense.
>
> > No they are not. Remember that the SAT isn't about the ability of a
> > student to function in some ideal abstract world of infinite
> > possibility. In the real world of academia, every single question they
> > will encounter will be ambiguous in some sense. The issue here is
> > whether the student has enough common culture with the test writer to
> > find the same answer. And that's *always* an issue.
>
> >> Bobby
>
> >> On Fri, 01 Jan 2010 04:32:58 -0600, Noqsi <j...@noqsi.com> wrote:
> >> > On Dec 31, 1:16 am, DrMajorBob <btre...@austin.rr.com> wrote:
>
> >> >> This is a little like those idiotic SAT and GRE questions that ask
> >> >> "What's
> >> >> the next number in the following series?"... where any number will =
> >> do.
> >> >> Test writers don't seem to know there's an interpolating polynomial=
> >> (for
> >> >> instance) to fit the given series with ANY next element.
>
> >> > Explanations in terms of epicycles may be mathematically adequate in=
a
> >> > narrow sense, but an explanation in terms of a single principle
> >> > applied repeatedly is to be preferred in science. The ability to
> >> > recognize such a principle is important.
>
> >> > And my mathematical logician son (who's looking over my shoulder)
> >> > directed me tohttp://www.research.att.com/~njas/sequences/for
> >> > research on this topic. When he encounters such a sequence in his
> >> > research, he finds that knowledge of a simple genesis for the sequen=
ce
> >> > can lead to further insight.
>
> >> --
> >> DrMajor...@yahoo.com
>
> --
StringLength was never mentioned in the SATs, to my knowledge. Nor was any
OTHER measure of simplicity.
Nor was SIMPLICITY itself, for that matter. (I think.)
Weren't questions posed as if there could only be one answer?
Bobby
On Mon, 04 Jan 2010 04:59:25 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
> I am not sure I you can call that a "forumla". Besides
>
> StringLength["fill in the first bubble"]
>
> 24
>
> So, if we also include them in the simplicity test, this one is probably
> not going to pass.
>
> On 4 Jan 2010, at 07:38, DrMajorBob wrote:
>
>> The simplest algorithm for determining "what's the next term" is
> simply "fill in the first bubble".
>>
>> Bobby
>>
>> On Sun, 03 Jan 2010 02:42:21 -0600, Andrzej Kozlowski
> <ak...@mimuw.edu.pl> wrote:
>>
>>>
>>> On 2 Jan 2010, at 19:05, DrMajorBob wrote:
>>>
>>>> If one had the Encyclopedia of Integer Sequences handy, those SAT
>>>> questions could be interesting. But they'd still be nonsense.
>>>
>>> I think only their wording should be changed to something like: "find
>>> the simplest formula generating the sequence ... where simplest
> means
>>> requiring the least number of standard mathematical symbols to write
>>> down". These kind of questions, of course, should probably allow the
>>> possibility that the person answering the question finds an answer
> that
>>> is simpler than the expected one.
>>>
>>>
>>
>>
>> --
>> DrMaj...@yahoo.com
>
>
x = RandomReal[]
digitForm = RealDigits@x;
Length@First@digitForm
rationalForm = FromDigits@digitForm
{n, d} = Through[{Numerator, Denominator}@rationalForm]
d x == n
0.217694
16
1088471616079187/5000000000000000
{1088471616079187, 5000000000000000}
True
A number can't get more rational or algebraic (solving a FIRST degree
polynomial with integer coefficients) than that.
If computer reals are THE reals, why is it that RandomReal[{3,4}] can
never return Pi, Sqrt[11], or ANY irrational?
OTOH, how often does RootApproximate@RandomReal[] succeed?
Never, essentially:
Reap@Do[x = RootApproximate@RandomReal[];
RootApproximate =!= Head@x && Sow@x, {10^8}]
{Null, {}}
Bobby
On Mon, 04 Jan 2010 05:01:55 -0600, Noqsi <j...@noqsi.com> wrote:
> On Jan 3, 1:37 am, DrMajorBob <btre...@austin.rr.com> wrote:
>> Mathematica Reals may not be Rational, but computer reals certainly are.
>> (I shouldn't have capitalized "reals" in the second case.)
>
> Only in the shallow sense that there is a low entropy mapping between
> computer "reals" and rational numbers in the intervals they represent.
> But computer "reals" don't behave arithmetically like rationals or the
> abstract "reals" of traditional mathematics. This fact often causes
> confusion.
>
With that corrected, I find that just about EVERY random real is algebraic.
roots = First@
Last@Reap@
Do[x = RootApproximant@RandomReal[];
Root == Head@x && Sow@x, {10^2}];
Length@roots
100
(It's very slow, hence the small sample.)
When RootApproximant fails, I suspect it's a limitation of the algorithm,
not a property of the real.
Bobby
On Mon, 04 Jan 2010 15:17:56 -0600, DrMajorBob <btr...@austin.rr.com>
wrote:
>>> Mathematica Reals may not be Rational, but computer reals certainly
>>> are.
>>> (I shouldn't have capitalized "reals" in the second case.)
>>
> If computer reals are THE reals, why is it that RandomReal[{3,4}] can
> never return Pi, Sqrt[11], or ANY irrational?
It can't possibly do that because these are computable real numbers the
set of computable real numbers if countable and has measure 0.
Computable numbers can never be the outcome of any distribution that
selects numbers randomly from a real interval.
The most common mistake people make about real numbers is to think that
numbers such as Sqrt[2] or Pi as being in some sense typical examples of
an irrational number or a transcendental number but they are not. They
are very untypical because they are computable: that is, there exists a
formula for computing as many of their digits as you like. But we can
prove that the set of all reals with this property is countable and of
measure 0. So Sqrt[2] is a very untypical irrational and Pi a very
untypical transcendental. So what do typical real look like? Well, I
think since a "typical" real is not computable we cannot know all of its
digits and we cannot know any formula for computing them. But we can
know a finite number of these digits. So this looks to me very much like
the Mathematica concept of Real - you know a specified number of
significant digits and you know that there are infinitely many more than
you do not know. It seems to me the most natural way to think about
non-computable reals.
Roger Penrose, by the way, is famous for arguing that our brain is
somehow able to work with non-computable quantities, although of course
not by using digital expansions. But this involves quantum physics and
has been the object of a heated dispute since the appearance of "The
emperor's New Mind".
=
> I completely understand that Mathematica considers 1.2 Real, not
Rational... but that's a software design decision, not an objective
fact.
I think we are talking cross purposes. You seem to believe (correct me
if I am wrong) that numbers somehow "exist". Well, I have never seen one
- and that applies equally to irrational and rationals and even
(contrary to Kronecker) integers. I do not know what the number 3 looks
like, nor what 1/3 looks like (I know how we denote them, but that's not
the sam thing). So I do not think that the notion of "computer numbers"
makes any sense and hence to say that all computer numbers are rational
also does not make sense. There are only certain things that we
interpret as numbers and when we interpret them as rationals they are
rationals and when we interpret them as non-computable reals than they
are just that.
Of course we know that a computer can only store a finite number of such
objects at a given time, but that fact in no sense makes them
"rational".
Andrzej Kozlowski
Bobby
On Tue, 05 Jan 2010 20:41:34 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
>
And when you are not using Mathematica (or other similar software which
interprets certain computer data as numbers), than I can't imagine what
you could possibly mean by a "computer number".
Andrzej
On 6 Jan 2010, at 11:45, DrMajorBob wrote:
> Obviously, it DOES make them rational "in a sense"... the sense in
which I mean it, for example.
>
> Bobby
>
Or call them reals, if you must; it still selects from a countable set of
possibilities... not from the uncountable unit interval in the reals.
The range of RandomReal[] is a set of measure zero, just like the
algebraic numbers.
Bobby
On Tue, 05 Jan 2010 02:08:24 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
>
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
and you might also read
http://en.wikipedia.org/wiki/Computable_number
(but that's the last time I posting anything to do with any logic or
mathematics here.)
Andrzej Kozlowski
On 5 Jan 2010, at 22:31, DrMajorBob wrote:
> RandomReal[] returns numbers from a countable set of rationals.
>
> Or call them reals, if you must; it still selects from a countable set
of possibilities... not from the uncountable unit interval in the reals.
>
> The range of RandomReal[] is a set of measure zero, just like the
algebraic numbers.
>
> Bobby
>
No. Computer reals are imprecise. That's the source of their utility.
And their difficulties.
> and in one-to-one correspondence
> with, a miniscule subset of the rationals. Every one of them has a finite
> binary expansion.
This proves only that they are contained within a finite set.
But it makes much more sense to consider the correspondence as one-to-
uncountably-many: each individual machine real represents every real
number within an interval determined by its precision. Except for
those that don't represent numbers at all.
>
> x = RandomReal[]
> digitForm = RealDigits@x;
> Length@First@digitForm
> rationalForm = FromDigits@digitForm
> {n, d} = Through[{Numerator, Denominator}@rationalForm]
> d x == n
>
> 0.217694
>
> 16
>
> 1088471616079187/5000000000000000
>
> {1088471616079187, 5000000000000000}
>
> True
Proves nothing.
0.1 == 1/10
True
Now, 1/10 is *not* a member of the "miniscule subset of rationals" you
referred to above, and the machine number 0.1 does not precisely
represent it:
RealDigits[0.1,2]
{{1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,0},-3}
Note that the representation is finite and the last two bits reflect
rounding.
Nevertheless, the machine manages to create a representation of 0.1,
and even reports it to be equal to 1/10. Now, if machine reals behaved
as if they were "precisely equal to ... a miniscule subset of
rationals" neither of these achievements would be possible. Their
imprecision makes this possible.
>
> A number can't get more rational or algebraic (solving a FIRST degree
> polynomial with integer coefficients) than that.
All you've done is to find a number with that property equal to x
within machine precision. But since there is, in fact, an infinite set
of such numbers, finding one isn't remarkable.
>
> If computer reals are THE reals,
I never said they were. Go back and read what I wrote.
> why is it that RandomReal[{3,4}] can
> never return Pi, Sqrt[11], or ANY irrational?
Well, I'm not patient enough for RandomReal[{3,4}]. But,
Map[Pi==#&,RandomReal[{3.14159265358970,3.14159265358980},10]]
{False,True,False,False,False,True,False,True,False,False}
Seems we can easily get Pi from RandomReal. And no, I'm not cheating:
the numbers that yielded True here are equal to Pi in the only sense
that matters with an imprecise number: they are equal to Pi within
their precision.
Bobby, you're looking at how machine reals are *encoded*, and a
*subset* of them is encoded as if they were precise rationals, as you
say. But what matters is how they *behave*. They do not generally
behave like precise rationals: they behave imprecisely. And what
rational number does a NaN encode?
Rational addition and multiplication are associative, but machine real
arithmetic isn't.
Rational arithmetic is distributive, but machine real arithmetic
isn't.
etc.
Machine reals are not the reals or the rationals: they are themselves,
with their own special properties. Those who reason as if machine
reals are either real or rational often suffer adverse consequences.
Much of the art of numerical analysis depends upon understanding these
special properties and their consequences.
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.
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. Mathematica interprets them as
non-computable irrationals in order to make mathematical sense when
returning them while simulation a real distribution, because all other
numbers have measure 0.
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.
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.
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
>
> and you might also read
>
> http://en.wikipedia.org/wiki/Computable_number
>
> (but that's the last time I posting anything to do with any logic or
mathematics here.)
>
> Andrzej Kozlowski
>
>
>
>
>
> On 5 Jan 2010, at 22:31, DrMajorBob wrote:
>
>> RandomReal[] returns numbers from a countable set of rationals.
>>
>> Or call them reals, if you must; it still selects from a countable
set of possibilities... not from the uncountable unit interval in the
reals.
>>
>> The range of RandomReal[] is a set of measure zero, just like the
algebraic numbers.
>>
>> Bobby
>>
>> On Tue, 05 Jan 2010 02:08:24 -0600, Andrzej Kozlowski
<ak...@mimuw.edu.pl> wrote:
>>
>>>
>>> On 5 Jan 2010, at 15:47, DrMajorBob wrote:
>>>
>>>> If computer reals are THE reals, why is it that RandomReal[{3,4}]
can
>>>> never return Pi, Sqrt[11], or ANY irrational?
>>>
> 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.
>
In fact, of course, not even countable but finite. But this is all
beside the point for the important thing is not what these things *are*
but what Mathematica interpret them as.
Even finite state automata can simulate distributions defined on real
intervals where "essentially everything" consists of non-comptable
reals.
But not because I worked hard or my parents got involved in my schoolwork,
as the New Yorker article suggests.
At least, I didn't think so, until I thought about it some more and came
up with some factoids:
a) My grandmother bought me comic books... and I READ them.
b) I participated in summer reading programs at the local library
(voluntarily).
c) My mother coached me for spelling bees, twice.
d) She took dictation for my history notebook one summer when I
(voluntarily) went to summer school.
e) Nobody told me math was hard, that I can remember.
f) Comics led me to science fiction, which I read like a house on fire.
So the article makes more sense than I originally thought.
Highly recommended. Thanks for the link!
Bobby
>> Bobby
>>
>>
>>
>> >> If one had the Encyclopedia of Integer Sequences handy, those SAT
>> >> questions could be interesting. But they'd still be nonsense.
>>
If we consider something that's not representable in binary, it even makes
a kind of sense:
RealDigits[1/3.]
{{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}, 0}
But 1.2 _is_ representable in binary, that's the way it is represented in
the computer, and there's no doubt about the digits, whatsoever:
RealDigits[1.2]
{{1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1}
Even 1/3. and Sqrt[2.] are stored as members of a countable set of
rationals... and representations of that sort are countable themselves
(since they're all algebraic).
But... I agree there's no point debating it.
Bobby
On Tue, 05 Jan 2010 16:04:20 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
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
>
> and you might also read
>
> http://en.wikipedia.org/wiki/Computable_number
>
> (but that's the last time I posting anything to do with any logic or
> mathematics here.)
>
> Andrzej Kozlowski
>
>
>
>
>
> On 5 Jan 2010, at 22:31, DrMajorBob wrote:
>
>> RandomReal[] returns numbers from a countable set of rationals.
>>
>> Or call them reals, if you must; it still selects from a countable set
>> of possibilities... not from the uncountable unit interval in the reals.
>>
>> The range of RandomReal[] is a set of measure zero, just like the
>> algebraic numbers.
>>
>> Bobby
Well... computer reals (floating point numbers) certainly DO exist, and
that's the way Mathematica stores a (machine precision) real number.
I never said MATHEMATICA Reals were all algebraic, mind you... because
your point is well taken that Mathematica has an interpretation or "point
of view" that may conflict with mine.
Even so... when Mathematica is asked the question via RootApproximant, I
haven't located a machine-precision number that isn't algebraic.
When we go beyond machine precision, your point is far more solid... but I
suspect a sufficiently stubborn and exhaustive RootApproximant would do
the same with those.
Bobby
On Tue, 05 Jan 2010 16:39:50 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
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.
> 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. Mathematica interprets them as
> non-computable irrationals in order to make mathematical sense when
> returning them while simulation a real distribution, because all other
> numbers have measure 0.
> 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.
>
> 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.
>
> 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
>>
>> and you might also read
>>
>> http://en.wikipedia.org/wiki/Computable_number
>>
>> (but that's the last time I posting anything to do with any logic or
>> mathematics here.)
>>
>> Andrzej Kozlowski
>>
>>
>>
>>
>>
>> On 5 Jan 2010, at 22:31, DrMajorBob wrote:
>>
>>> RandomReal[] returns numbers from a countable set of rationals.
>>>
>>> Or call them reals, if you must; it still selects from a countable set
>>> of possibilities... not from the uncountable unit interval in the
>>> reals.
>>>
>>> The range of RandomReal[] is a set of measure zero, just like the
>>> algebraic numbers.
>>>
>>> Bobby
>>>
If RootApproximant@RandomReal[] succeeds, that random number is algebraic,
according to Mathematica... yes or no?
RootApproximant@RandomReal[]
Root[3 - #1 - #1^3 - #1^4 - 4 #1^5 + 4 #1^6 - 2 #1^7 +
2 #1^8 + #1^9 + #1^10 - 2 #1^11 - 2 #1^12 + #1^14 &, 1]
(It succeeds every time, as far as I can tell.)
Does that constitute behaving like an algebraic number?
Bobby
>> If computer reals are THE reals,
>
> I never said they were. Go back and read what I wrote.
>
>> why is it that RandomReal[{3,4}] can
>> never return Pi, Sqrt[11], or ANY irrational?
>
> Well, I'm not patient enough for RandomReal[{3,4}]. But,
>
> Map[Pi==#&,RandomReal[{3.14159265358970,3.14159265358980},10]]
> {False,True,False,False,False,True,False,True,False,False}
>
> Seems we can easily get Pi from RandomReal. And no, I'm not cheating:
> the numbers that yielded True here are equal to Pi in the only sense
> that matters with an imprecise number: they are equal to Pi within
> their precision.
>
> Bobby, you're looking at how machine reals are *encoded*, and a
> *subset* of them is encoded as if they were precise rationals, as you
> say. But what matters is how they *behave*. They do not generally
> behave like precise rationals: they behave imprecisely. And what
> rational number does a NaN encode?
>
> Rational addition and multiplication are associative, but machine real
> arithmetic isn't.
>
> Rational arithmetic is distributive, but machine real arithmetic
> isn't.
>
> etc.
>
> Machine reals are not the reals or the rationals: they are themselves,
> with their own special properties. Those who reason as if machine
> reals are either real or rational often suffer adverse consequences.
> Much of the art of numerical analysis depends upon understanding these
> special properties and their consequences.
>
Not to repeat myself, but RootApproximant said 100 out of 100 randomly
chosen machine-precision reals ARE algebraic.
If your interpretation is correct and consistent with Mathematica, and if
Mathematica is internally consistent on the topic, virtually all of those
reals should NOT have been algebraic.
Mathematica designers wrote RootApproximant, I assume?
Hence, I'd have to say your interpretation is no better than mine.
Bobby
On Wed, 06 Jan 2010 04:57:26 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
> Well, I think when you are using Mathematica it is the designers of
> Mathematica who decide what is rational and what is not.
>
> And when you are not using Mathematica (or other similar software which
> interprets certain computer data as numbers), than I can't imagine what
> you could possibly mean by a "computer number".
>
> Andrzej
>
>
> On 6 Jan 2010, at 11:45, DrMajorBob wrote:
>
>> Obviously, it DOES make them rational "in a sense"... the sense in
> which I mean it, for example.
>>
>> Bobby
>>
>> On Tue, 05 Jan 2010 20:41:34 -0600, Andrzej Kozlowski
> <ak...@mimuw.edu.pl> wrote:
>>
>>>
>>> On 6 Jan 2010, at 11:13, DrMajorBob wrote:
>>>
>>>> I completely understand that Mathematica considers 1.2 Real, not
> Rational... but that's a software design decision, not an objective
> fact.
>>>
>>> I think we are talking cross purposes. You seem to believe (correct
> me if I am wrong) that numbers somehow "exist". Well, I have never seen
> one - and that applies equally to irrational and rationals and even
> (contrary to Kronecker) integers. I do not know what the number 3 looks
> like, nor what 1/3 looks like (I know how we denote them, but that's not
> the sam thing). So I do not think that the notion of "computer numbers"
> makes any sense and hence to say that all computer numbers are rational
> also does not make sense. There are only certain things that we
> interpret as numbers and when we interpret them as rationals they are
> rationals and when we interpret them as non-computable reals than they
> are just that.
>>> Of course we know that a computer can only store a finite number of
> such objects at a given time, but that fact in no sense makes them
> "rational".
>>>
>>> Andrzej Kozlowski
>>
>>
>> --
>> DrMaj...@yahoo.com
>
>
Andrzej Kozlowski
On 6 Jan 2010, at 23:46, DrMajorBob wrote:
> We've already noted that RandomReal[] outputs are not only of measure
zero... but also finite.
>
> Hence, arguing that computable numbers have measure zero and hence
can't be RandomReal[] outputs, seems beside the point.
>
> Bobby
>
> On Wed, 06 Jan 2010 04:56:38 -0600, Andrzej Kozlowski
<ak...@mimuw.edu.pl> wrote:
>
>>
>> On 5 Jan 2010, at 15:47, DrMajorBob wrote:
>>
>>> If computer reals are THE reals, why is it that RandomReal[{3,4}]
can
>>> never return Pi, Sqrt[11], or ANY irrational?
>>
>> Well, I think when you are using Mathematica it is the designers of
>> Mathematica who decide what is rational and what is not.
>
> Not to repeat myself, but RootApproximant said 100 out of 100 randomly
chosen machine-precision reals ARE algebraic.
No, they are not real algebraic. RootApproximant gives algebraic
approximations to these numbers and in fact it uses a test for what
makes a good approximation. In never says that these numbers themselves
are algebraic. You have been completely confused about this. The method
RootApproximant uses is the LLL method, which finds approximations.
Because of this it will give you a number of different approximations
for the same real. For example
In[7]:= RootApproximant[N[Pi, 10], 2]
Out[7]= (1/490)*(71 + Sqrt[2156141])
In[8]:= RootApproximant[N[Pi, 10], 3]
Out[8]= Root[37 #1^3-114 #1^2-36 #1+91&,3]
So how come N[Pi,10] is equal to two quite different algebraic numbers?
You should first understand what an algorithm does (e.g.
RootApproximant) before making weird claims about it. (In fact Daniel
Lichtblau already explained this but you just seem to have ignored it).
Andrzej Kozlowski
>
> If your interpretation is correct and consistent with Mathematica, and
if Mathematica is internally consistent on the topic, virtually all of
those reals should NOT have been algebraic.
>
> Mathematica designers wrote RootApproximant, I assume?
>
> Hence, I'd have to say your interpretation is no better than mine.
>
> Bobby
>
> On Wed, 06 Jan 2010 04:57:26 -0600, Andrzej Kozlowski
<ak...@mimuw.edu.pl> wrote:
>
>> Well, I think when you are using Mathematica it is the designers of
>> Mathematica who decide what is rational and what is not.
>>
>> And when you are not using Mathematica (or other similar software
which
>> interprets certain computer data as numbers), than I can't imagine
what
>> you could possibly mean by a "computer number".
>>
>> Andrzej
>>
>>
>> On 6 Jan 2010, at 11:45, DrMajorBob wrote:
>>
>>> Obviously, it DOES make them rational "in a sense"... the sense in
>> which I mean it, for example.
>>>
>>> Bobby
>>>
Perhaps it's just Mathematica USERS holding forth in each direction.
I think the view of reals as monads (a la nonstandard analysis) melds with
the fact that reals are irrational A.E. and non-algebraic A.E., while
monads are, of course, consistent with the spirit of Mathematica's
arbitrary-precision arithmetic (WHEN IT IS USED). The OP posted a number
far beyond machine precision, so it's reasonable to come at this from that
arbitrary-precision world-view... in which case you're "right" and I'm
"wrong".
I called all the reals rational, and you called them monads (or
equivalent).
Fine.
Bobby
On Wed, 06 Jan 2010 16:46:20 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
>
> On 7 Jan 2010, at 04:19, DrMajorBob wrote:
>
>>> Well, I think when you are using Mathematica it is the designers of
>>> Mathematica who decide what is rational and what is not.
>>
>> Not to repeat myself, but RootApproximant said 100 out of 100 randomly
>> chosen machine-precision reals ARE algebraic.
>
> No, they are not real algebraic. RootApproximant gives algenraic
Now, as I mentioned earlier, Roger Penrose has tried to argue that the
human brain is fundamentally different from a computer and that it has
some sort of access to "real numbers" that a computer cannot achieve (he
formulates this in terms of Turing machines and computability but
essentially it amounts to the same thing). This view remains very
controversial and seems to be a minority one. But anyway, you do not
seem to be referring to this sort of thing. So put this question to you:
are you only claiming that "all computer reals are rationals" or are you
also claiming that "all reals are rationals"? If not, then what is the
difference between the two? Why can't a computer, in principle of
course, perfectly simulate the activity of the human brian that we call
"doing mathematics"?
Andrzej Kozlowski
> are you only claiming that "all computer reals are rationals" or are you
> also claiming that "all reals are rationals"?
The former.
> If not, then what is the difference between the two?
A great deal.
I can imagine the woof and weave (the topology) of real numbers; computers
can't do that. I can state four assumptions and show that every set with
these properties is topologically isomorphic to what we call "the real
line", with NO reference to real numbers, numeric representations, or real
arithmetic. We did just that in a special topics course when I was a
sophomore; none of us knew, when we started, what the end-goal would be...
but that's where we arrived.
The idea that a computer's mimicry of reals is equivalent to that is
just... absurd.
A computer can't begin to grasp the topology; it begins and ends with
arithmetic. (That includes smart algorithms such as GroebnerBasis and
RootApproximant, which are, root and branch, arithmetical.)
Computers can do arithmetic on a finite subset of the reals, it can do
symbolic algebra faster than a human, and Mathematica's
arbitrary-precision arithmetic and large integers simulate nonstandard
analysis in a limited way... but that's very far from understanding reals
the way a topologist does or fields the way a algebraist does, or
nonstandard analysis as a mathematical logician does.
> Why can't a computer, in principle of course, perfectly simulate the
> activity of the human brian that we call "doing mathematics"?
In principle of course, human minds ARE computers... but not the kind
we're likely to build, anytime soon.
You're not claiming that Mathematica simulates the mind of a
mathematician, I hope?
Show me Mathematica proving topological theorems (beyond FINITE groups and
graphs)... and you might have something.
Bobby
On Wed, 06 Jan 2010 18:44:15 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
Resolve[Exists[x, x^2 == 2], Reals]
True
Mathematica obviously does this "discretely" (so does the human brain)
but this is a statement about the reals not the rationals. To think in
any other way just makes no sense to me.
Andrzej
> Yes, this discussion is far too philosophical... but it HAS
illuminated a few real-world Mathematica behaviors.
>
>> are you only claiming that "all computer reals are rationals" or are
you also claiming that "all reals are rationals"?
>
> The former.
>
>
I am curious about still one thing. Roger Penrose has written two large
books, essentially all about this issue. Other people have written
hundreds of pages countering his arguments. Just type in "Penrose,
computable, real" into a google search and you will find over 52,000
results. I assume based on your posts you have not read much of that
sort of stuff.
Still, I find a little strange is that you seem to consider this matter
so obvious that it can be just dealt with in a few lines while all these
people have felt it necessary to devote so much time and space to this
very issue.
Andrzej
Continuity of a function does NOT depend on completeness in the domain,
and I suspect that
Resolve[Exists[x, x^2 == 2], Reals]
True
succeeds based on algebra, not topology.
You or I might (MIGHT) treat it as a topological problem, but I doubt
Resolve can do so.
A better example might be
Reduce[Exists[x, Exp[x^7 + 3 x - 11] + x - 6/10 == 0], Reals]
True
A human might have great difficulty solving the equation, but he might
easily establish that the LHS is negative for some value and positive for
another, hence a solution exists in between.
Yet, since this works:
FindInstance[ Exp[x^7 + 3 x - 11] + x - 6/10 == 0, x]
{{x -> Root[{-3 + 5 E^(-11 + 3 #1 + #1^7) + 5 #1 &,
0.599896128076431511686789719766}]}}
I suspect that algebra and root-search was used in Resolve.
Unless a developer can confirm that Resolve didn't find a solution, merely
proved that one could be bracketed?
To do that, Resolve would have to know the LHS is continuous on the real
line, and haven't we found, frequently, that Mathematica CAN'T identify
continuous functions?
And what does THIS mean?
0.5998961280764315116867897197655402817356291002252018609367`30. // \
RootApproximant
Root[1 - #1 + #1^3 - 7 #1^4 + 10 #1^5 - 16 #1^6 + 15 #1^7 - 15 #1^8 +
15 #1^9 - 16 #1^10 + 12 #1^11 - 10 #1^12 + 11 #1^13 -
2 #1^14 + #1^15 + 8 #1^16 &, 3]
(Note the constant included in the output from FindInstance.)
Did FindInstance (and Resolve) generate and solve a series approximation
to -3 + 5 E^(-11 + 3 #1 + #1^7) + 5 #1 & ?
Or is the RootApproximant result a pure accident?
Bobby
On Wed, 06 Jan 2010 19:42:51 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
> The important word was "in principle". I have never claimed that
> Mathematica can do topology. I work in topology and when I do that I do
> not use Mathematica. But Mathematica does or if you prefer "simulates" a
> lot of mathematics that only makes sense under the assumption of
> continuity. In particular things like
>
> Resolve[Exists[x, x^2 == 2], Reals]
>
> True
>
> Mathematica obviously does this "discretely" (so does the human brain)
> but this is a statement about the reals not the rationals. To think in
> any other way just makes no sense to me.
>
> Andrzej
>
>
> On 7 Jan 2010, at 10:28, DrMajorBob wrote:
>
>> Yes, this discussion is far too philosophical... but it HAS illuminated
>> a few real-world Mathematica behaviors.
>>
>>> are you only claiming that "all computer reals are rationals" or are
>>> you also claiming that "all reals are rationals"?
>>
>> The former.
>>
But I haven't seen computers doing topology on infinite sets or arithmetic
on uncountable ones... or a great many other things we humans do.
Yes, my view is simplistic, no doubt.
Bobby
On Wed, 06 Jan 2010 19:55:56 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
>
> On 7 Jan 2010, at 10:28, DrMajorBob wrote:
>
>> Yes, this discussion is far too philosophical... but it HAS illuminated
>> a few real-world Mathematica behaviors.
>>
>>> are you only claiming that "all computer reals are rationals" or are
>>> you also claiming that "all reals are rationals"?
>>
>> The former.
>>
>>
>
> I am curious about still one thing. Roger Penrose has written two large
> books, essentially all about this issue. Other people have written
> hundreds of pages countering his arguments. Just type in "Penrose,
> computable, real" into a google search and you will find over 52,000
> results. I assume based on your posts you have not read much of that
> sort of stuff.
> Still, I find a little strange is that you seem to consider this matter
> so obvious that it can be just dealt with in a few lines while all these
> people have felt it necessary to devote so much time and space to this
> very issue.
>
> Andrzej
>
There is only one difference between this process and what actually
happens in the human mind - we have a geometric intuition to guide us in
selecting what might be true and also the steps that we need in a proof
- a computer has no geometric intuition at all. This is the crux of the
matter. This is also what all these books of Penrose are really about.
The issue is exactly this "intuition". Formal, rigorous mathematics is
not, in principle, different from what computer can do. Intuition may or
may not be. We do not know whether intuition is not simply based on
having a vast amount of knowledge stored in our memory.
Computers now can play chess on the level of the strongest grandmasters.
The way this was achieved was not by making than try to compute all the
possibilities in any given situation - this is the way to nowhere, but
by storing vast amounts of human knowledge and making computers imitate
the way humans play chess. Now, it is pretty hard, to discover just by
studying the moves in a chess game, whether one or both players are
computer programs or not. A human chess player uses above all his
intuition so that he does not need to consider the great majority of
possible moves in a given situation because his intuition tells him they
are bad moves. A computer has no intuition, but it can learn to act as
if it had one, simply by finding in its stored database of games an
identical or very similar position and choosing a move stored in its
memory.
There is no obvious reason why computers should not some day be able to
do topology as well as they can play chess. They would be making use of
human knowledge in doing that. To a large extent this is what
Mathematica already does. That's my entire point.
Andrzej Kozlowski
> Bobby
>
> On Wed, 06 Jan 2010 19:42:51 -0600, Andrzej Kozlowski
<ak...@mimuw.edu.pl> wrote:
>
>> The important word was "in principle". I have never claimed that
Mathematica can do topology. I work in topology and when I do that I do
not use Mathematica. But Mathematica does or if you prefer "simulates" a
lot of mathematics that only makes sense under the assumption of
continuity. In particular things like
>>
>> Resolve[Exists[x, x^2 == 2], Reals]
>>
>> True
>>
>> Mathematica obviously does this "discretely" (so does the human
brain) but this is a statement about the reals not the rationals. To
think in any other way just makes no sense to me.
>>
>> Andrzej
>>
>>
>> On 7 Jan 2010, at 10:28, DrMajorBob wrote:
>>
>>> Yes, this discussion is far too philosophical... but it HAS
illuminated a few real-world Mathematica behaviors.
>>>
>>>> are you only claiming that "all computer reals are rationals" or
are you also claiming that "all reals are rationals"?
>>>
>>> The former.
>>>
>>> Bobby
>>>
>>> On Wed, 06 Jan 2010 18:44:15 -0600, Andrzej Kozlowski
<ak...@mimuw.edu.pl> wrote:
>>>
>>>> It seems to me that this entire discussion has turned into pure
philosophy and isn't really suitable for this forum. But to put it all
in a nutshell: I do not see any reason to think that anything that a
computer can do is in a fundamental way different to what human brain
does. So, if you claim that "all computer reals are rational" I can't
see how this is different from the claim that "all reals are rational" -
since reals surely exist only in mathematics, which is a product of the
human mind.
>>>>
>>>> Now, as I mentioned earlier, Roger Penrose has tried to argue that
the human brain is fundamentally different from a computer and that it
has some sort of access to "real numbers" that a computer cannot achieve
(he formulates this in terms of Turing machines and computability but
essentially it amounts to the same thing). This view remains very
controversial and seems to be a minority one. But anyway, you do not
seem to be referring to this sort of thing. So put this question to you:
are you only claiming that "all computer reals are rationals" or are you
also claiming that "all reals are rationals"? If not, then what is the
difference between the two? Why can't a computer, in principle of
course, perfectly simulate the activity of the human brian that we call
"doing mathematics"?
>>>>
>>>> Andrzej Kozlowski
>>>>
>>>>
>>>> On 7 Jan 2010, at 08:59, DrMajorBob wrote:
>>>>
>>>>> If I'm told that finite-precision reals are not Rational "because
Mathematica says so", but that Mathematica success (by some algorithm)
in finding a Root[...] representation doesn't mean the number is
algebraic... yet I know that all finite binary expansions ARE both
rational and algebraic as a matter of basic arithmetic... then I
question whether Mathematica is saying anything either way.
>>>>>
>>>>> Perhaps it's just Mathematica USERS holding forth in each
direction.
>>>>>
>>>>> I think the view of reals as monads (a la nonstandard analysis)
melds with the fact that reals are irrational A.E. and non-algebraic
A.E., while monads are, of course, consistent with the spirit of
Mathematica's arbitrary-precision arithmetic (WHEN IT IS USED). The OP
posted a number far beyond machine precision, so it's reasonable to come
at this from that arbitrary-precision world-view... in which case you're
"right" and I'm "wrong".
>>>>>
>>>>> I called all the reals rational, and you called them monads (or
equivalent).
>>>>>
>>>>> Fine.
>>>>>
>>>>> Bobby
>>>>>>> Bobby
>>>>>>>
>>>>>>> On Wed, 06 Jan 2010 04:57:26 -0600, Andrzej Kozlowski
<ak...@mimuw.edu.pl> wrote:
>>>>>>>
>>>>>>>> Well, I think when you are using Mathematica it is the
designers of
>>>>>>>> Mathematica who decide what is rational and what is not.
>>>>>>>>
>>>>>>>> And when you are not using Mathematica (or other similar
software which
>>>>>>>> interprets certain computer data as numbers), than I can't
imagine what
>>>>>>>> you could possibly mean by a "computer number".
>>>>>>>>
>>>>>>>> Andrzej
>>>>>>>>
>>>>>>>>
>>>>>>>> On 6 Jan 2010, at 11:45, DrMajorBob wrote:
>>>>>>>>
>>>>>>>>> Obviously, it DOES make them rational "in a sense"... the
sense in
>>>>>>>> which I mean it, for example.
>>>>>>>>>
>>>>>>>>> Bobby
>>>>>>>>>
> Well... I'm not a philosopher, so I don't read a lot of philosophy.
Neither is Roger Penrose
You agree, I think, that we do certain things, even as small children,
that we don't know how to program into a computer. It's interesting to
watch Japanese robots as they GLACIALLY improve... none of them yet
reaching what five year old humans can do. It's astonishing the physical
feats a ROACH can perform, with a brain barely large enough to see, if it
were exposed. I can walk, but I can't explain how. I can spell more words
than it seems possible I could have memorized. I think I can recognize
people I know, better than any computer (usually a hell of a lot better
than iPhoto, though DoD probably has some serious contenders). I suspect I
can recognize incorrect English better than any computer program.
A lot of this is the result of evolutionary programming; we're born with
brains wired for this stuff. It's analog computing, or virtually so...
discrete on the level of DNA or neurons, but effectively analog.
Chess programs numerically "score" positions based on heuristics like the
total point value of pieces, how many squares each side controls, how many
times pieces (and empty squares) are attacked and defended, are pieces
protected by more valuable pieces (bad), is this a memorized win or loss,
an opening gambit that rarely succeeds, et cetera... and I believe the
rest is just dynamic programming. If you can "branch and bound" 20 layers
deep, heuristics don't have to be especially good. Even human chess
masters routinely analyze ten steps ahead on some lines, dismissing most
paths via intuition alone.
Bobby
On Wed, 06 Jan 2010 20:46:46 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
> I really think we are all the time talking cross purposes. Obviously
>
> Machine reals are not the reals or the rationals: they are themselves,
> with their own special properties. Those who reason as if machine
> reals are either real or rational often suffer adverse consequences.
If you treat each "machine real" (that is, hardware or software FLOAT
format object) as a representation of an exact rational number, then I
think that you are in much better shape in terms of numerical analysis
than if you treat each object as some kind of fuzz-ball.
> Much of the art of numerical analysis depends upon understanding these
> special properties and their consequences.
>
I agree. But I disagree with the assertion that you do better with
fuzz-balls. You especially can do careful analysis using a computer
algebra system where you can carry around symbolic "machine epsilon"
data, and do arithmetic on such expressions.
RJF
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??
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[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
>>
>> 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..
Hence, arguing that computable numbers have measure zero and hence can't
be RandomReal[] outputs, seems beside the point.
Bobby
On Wed, 06 Jan 2010 04:56:38 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
>
> =
>
Well, well, if I remember well Penrose whole point is that
mathematicians are doing mathematics, but they do not know how :)
According to him the process is definitely NOT logical thinking, but a
"computation" done by the microtubule immersed into the quantum world.
Let me tell a non-mathematical example.
Gabo - G=E1briel M=E1rquez - was traveling in Mexico on the Trans American
Highway and in a curve he could glance down from the road into an
exceptionally green valley. At the same moment as he glanced down
into this green valley from somewhere - like the Poynting vector - the
whole story of "Onehundred year solitude" CAME into his mind. He said
it was so clear and vivid that he could have dictated the first three
chapters from word to word to a typist.
My guess is that it did not came as "text" into his mind, but rather
as a "film" or "life" with all the usual emotional side effects, that
make it possible to write it down so preciously as he did in the
following 8 months. It is anyone guess what was the bandwidth of the
"channel" to that "place" where the story came from that in a blink
of an eye hundreds of peoples whole life was transfered into his
brain. My guess is that there is no computer on Earth that can do the
same in an hour even with the parenting hands and logical minds of
highly capable mathematicians of a few hundreds/thousands/hundred-
thousands.
J=E1nos
Regarding RootApproximant design, the missing functionality is this.
There is no limiting of coefficient size (or if there is, it's not
obvious to me how it might be done). Rationalize has such limiting
capability, more or less (though it is really built into the algorithm;
the optional second argument does not impose it).
A consequence is that all randoms can be made to fit some algebraic
number of whatever degree, simply by allowing siufficiently large
coefficients.
I am not sure whether this is a design flaw. It might alternatively have
been intentional, due to possible implementational difficulties in doing
otherwise. In retrospect, it kinda surprises me that I am not familiar
with the history of this particular design issue, but there you have it.
Daniel Lichtblau
Wolfram Research
It is known whether this thread is rational. Empirical evidence seems to
argue against it.
> [...]
> Maybe you think that Mathematica has a human mind?
Of course she does.
> (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.
> )
That (a misfeature), or maybe it's a missing feature in some other
programs. I rather like this behavior of Equal, though I agree there is
good sense behind some recent criticisms to the effect that maybe it
should be configurable (regarding bits of slop, or relative or absolute
error specifications).
> [...]
> 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.
I would be far more troubled if 1.2===12/10 gave True (that is, they
were deemed SameQ rather than just Equal).
Much of the town is shut down, including schools (though, alas, not the
HS drama club trip). I had to shovel out this morning before work. I'll
have to shovel again when I get home. So here I am, and it feels like I
am still shovelling. Such sound and fury...
Daniel Lichtblau
Wolfram Research
>
> Incidentally, it is not known if E+Pi is rational.
Brilliant. But even a high school child can prove that either E+Pi is
irrational or E*Pi is irrational (in fact you can replace irrational
with transcendental).
>
> 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.
You are confusing Real and Reals. This
Element[1.2, Reals]
True
has nothing to do with types because
Element[Pi, Reals]
True
even though
Head /@ {1.2, Pi}
{Real,Symbol}
and also
Element[0.5, Rationals]
False
Element[1/2, Rationals]
True
and just by the way:
Element[Pi, Rationals]
False
Element[E, Rationals]
False
Element[E + Pi, Rationals]
Element[E + Pi, Rationals]
so Mathematica knows as much as you about this. But it does not know as much as me since
Reduce[Element[E + Pi, Rationals] && Element[E Pi, Rationals]]
should return False.
I agree with Bob.
who says that "all computer reals are rationals" [The ones that are
represented by fractions and exponents consisting of finite strings of
bits.., not those that are symbols like Pi].
The fact that Penrose annoyed a lot of people with his attack on
computer science does not mean he is right, or worthy of reading
(though I have read his first opus).
I tried another Google search and got ..
Results 1 - 10 of about 188,000 for "hannah montana" +philosophy.
(0.24 seconds)
As for whether a computer program could conceptualize mathematics and
"know" something, anyone could just say "no, computers can't".
Others might point to programs that prove new theorems as a
demonstration that computers "know math". (There are conferences
on this topic, Mathematical Knowledge Management, and long-term research
projects on theorem proving by computer). And a more cogent (but also
deeply flawed) discussion of what computers can/can't do has been
presented by John Searle, who is not a physicist, but a philosopher by
profession.
Others have said that computers will not replace mathematicians until
computers learn to drink coffee.
RJF
Let me cite here an "alien from Mars" - Arthur K=F6stler : )
"The discoverer perceives relational patterns of functional analogies
where nobody saw them before, as a poet perceives the image of a camel
in a drifting cloud"
or
"The manner in which some of the most important individual discoveries
were arrived at, remind one more of a sleepwalker's performance than
an electronic brain's"
J=E1nos=
It's based on cylindrical algebraic decomposition (CAD). As the name
indicates, that has an algebraic basis. But it is also intimately
connected to what is called real algebraic geometry, and that has a bit
of a topological flavor to it.
> You or I might (MIGHT) treat it as a topological problem, but I doubt
> Resolve can do so.
>
> A better example might be
>
> Reduce[Exists[x, Exp[x^7 + 3 x - 11] + x - 6/10 == 0], Reals]
>
> True
That might almost be called real analytic (as opposed to algebraic)
geometry. [It has something of a local flavor. In the sense of
geography, not math; it is relatively recent work at WRI. Serious
development is found in
Adam W. Strzebonski: Real root isolation for exp-log functions. ISSAC
2008: 303-314
This received the conference Best Paper award, I might add. It would be
a breach of the MathGroup rules to mention the prize...]
> A human might have great difficulty solving the equation, but he might
> easily establish that the LHS is negative for some value and positive for
> another, hence a solution exists in between.
>
> Yet, since this works:
As of version 7 of Mathematica...
> FindInstance[ Exp[x^7 + 3 x - 11] + x - 6/10 == 0, x]
>
> {{x -> Root[{-3 + 5 E^(-11 + 3 #1 + #1^7) + 5 #1 &,
> 0.599896128076431511686789719766}]}}
>
> I suspect that algebra and root-search was used in Resolve.
>
> Unless a developer can confirm that Resolve didn't find a solution, merely
> proved that one could be bracketed?
I do not know but I'd imagine it could be done either way. Probably the
latter if at all possible, since that could be faster.
> To do that, Resolve would have to know the LHS is continuous on the real
> line, and haven't we found, frequently, that Mathematica CAN'T identify
> continuous functions?
Reduce, FindInstance, and probably Resolve have a reasonable
understanding of exp-log-quasipolynomial functions.
To answer a possible question from the philosophically-minded, yes, the
software really does understand these things.
> And what does THIS mean?
>
> 0.5998961280764315116867897197655402817356291002252018609367`30. // \
> RootApproximant
>
> Root[1 - #1 + #1^3 - 7 #1^4 + 10 #1^5 - 16 #1^6 + 15 #1^7 - 15 #1^8 +
> 15 #1^9 - 16 #1^10 + 12 #1^11 - 10 #1^12 + 11 #1^13 -
> 2 #1^14 + #1^15 + 8 #1^16 &, 3]
>
> (Note the constant included in the output from FindInstance.)
>
> Did FindInstance (and Resolve) generate and solve a series approximation
> to -3 + 5 E^(-11 + 3 #1 + #1^7) + 5 #1 & ?
>
> Or is the RootApproximant result a pure accident?
>
> Bobby
An accident, of sorts. It is designed behavior, but it is not obvious
whether the design is without flaw. I say something about this (not
much, but something) in a response to another post from this
thread-of-all-threads.
Daniel Lichtblau
Wolfram Research
That's it, in a nutshell.
Bobby
On Thu, 07 Jan 2010 01:33:33 -0600, Richard Fateman
<fat...@cs.berkeley.edu> wrote:
> 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.
>
> 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[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
>>>
>>> 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..
>
And sufficiently large degree? A combination of the two?
Bobby
On Thu, 07 Jan 2010 10:19:39 -0600, Daniel Lichtblau <da...@wolfram.com>
wrote:
Since the result of RandomReal[] represents a neighborhood, success of
RootApproximant here indicates the presence of an algebraic number in
that neighborhood. Seems unremarkable to me.
They can't be sued unless they tell you (or record somewhere, discuss in
front of witnesses, etc.) the reason they didn't hire (or admit) you.
That flexibility is lost with a rule like Texas has, where the top 10% of
high school students MUST be accepted to state schools. If I'm not
mistaken, though, it seems I heard students are only guaranteed admission
to SOME state school... not necessarily the one they want.
Bobby
On Wed, 06 Jan 2010 18:00:45 -0600, Andrzej Kozlowski <ak...@mimuw.edu.pl>
wrote:
> Well, I can't tell much about SATs and SAT II as I never had to take
> them, but from my perspective I see quite a different problem
>
> My daughter, who was educated in Japan and the UK, took the SAT and SAT
> II's while attending an international school in Britain. She got the
> maximum possible scores on all of them. (Later she also got a maximum
> possible score on GRE).
>
> Although we did not really want her to go to a US university she wanted
> to see if she could get in, so she applied to 3 of the top Ivy League
> schools and was turned down by all three, in spite of her perfect scores
> (and a record high score in the European International Baccalaureate
> examinations).
>
> So she went to Cambridge University in the UK (which accepted her on the
> basis of her IB results) and then did a doctorate in Germany and
> published a paper in the top ranked journal in her field. She then
> applied for post-doc position to one of the places that turned her down
> as an undergraduate, and they accepted her this time giving her at least
> the satisfaction of being able to turn down an offer from a famous Ivy
> League university.
>
> We have a pretty good idea why she was turned down as an undergraduate
> in spite of having as good an academic record as one could possibly
> have - but this it not the right place to write about that. But, at
> least from my perspective, the problem with these SATs, SAT IIs, GREs
> etc., is that the supposedly best institution ignore them and make
> selectons on the basis of their own highly dubious (and secret)
> criteria. However bad these exams are, they are better than that.
>
> Andrzej Kozlowski
>
> On 6 Jan 2010, at 20:02, DrMajorBob wrote:
>
>> I've always told people, "I test smarter than I really am," and now I
>> see... I was right!
>>
>> But not because I worked hard or my parents got involved in my
>> schoolwork,
>> as the New Yorker article suggests.
>>
>> At least, I didn't think so, until I thought about it some more and came
>> up with some factoids:
>>
>> a) My grandmother bought me comic books... and I READ them.
>>
>> b) I participated in summer reading programs at the local library
>> (voluntarily).
>>
>> c) My mother coached me for spelling bees, twice.
>>
>> d) She took dictation for my history notebook one summer when I
>> (voluntarily) went to summer school.
>>
>> e) Nobody told me math was hard, that I can remember.
>>
>> f) Comics led me to science fiction, which I read like a house on fire.
>>
>> So the article makes more sense than I originally thought.
>>
>> Highly recommended. Thanks for the link!
>>
>> Bobby
>>
>> On Tue, 05 Jan 2010 00:44:27 -0600, Noqsi <j...@noqsi.com> wrote:
>>
>>> On Jan 4, 4:00 am, DrMajorBob <btre...@austin.rr.com> wrote:
>>>>> The issue here is
>>>>> whether the student has enough common culture with the test writer to
>>>>> find the same answer. And that's *always* an issue.
>>>>
>>>> So those are cultural conformity questions?!?
>>>
>>> One might not need to conform, but one must at least understand the
>>> culture. Mathematics is a human cultural artifact, and students are
>>> going to need to understand some things about that artifact and its
>>> expression to be successful in college.
>>>
>>> Specifically in this case series are often presented as specific terms
>>> and ellipsis, judged to be easier to comprehend in some ways than a
>>> formula, so the student should be able to comprehend that form.
>>>
>>> And this continues into professional life. Today I'm looking over the
>>> specs of a megapixel image sensor. The drawings that document its
>>> structure contain "..." in a number of places: it's not practical to
>>> show every pixel! I can, of course, think of all kinds of perverse and
>>> stupid ways to misunderstand what's omitted, but that wouldn't be
>>> helpful in any way.
>>>
>>>>
>>>> That's even worse than I thought!
>>>
>>> It's still worse. The intentions behind the widespread adoption of the
>>> SAT didn't really address the need to establish that the student could
>>> comprehend the academic cultural context: instead, they were
>>> consciously bigoted.
>>>
>>> http://www.newyorker.com/archive/2001/12/17/011217crat_atlarge
>>>
>>>>
>>>> Bobby
>>>>
>>>>
>>>>
>>>> On Sun, 03 Jan 2010 02:40:36 -0600, Noqsi <j...@noqsi.com> wrote:
>>>>> On Jan 2, 3:05 am, DrMajorBob <btre...@austin.rr.com> wrote:
>>>>>> When I clicked on the link below, the search field was already
>>>> filled =
>>>
>>>>>> with
>>>>>> the sequence
>>>>
>>>>>> target = {1, 2, 3, 6, 11, 23, 47, 106, 235};
>>>>
>>>>>> Searching yielded "A000055 Number of trees with n unla=
>>> beled
>>>>>> nodes."
>>>>
>>>>>> I tried a few Mathematica functions on it:
>>>>
>>>>>> FindLinearRecurrence@target
>>>>
>>>>>> FindLinearRecurrence[{1, 2, 3, 6, 11, 23, 47, 106, 235}]
>>>>
>>>>>> (fail)
>>>>
>>>>>> FindSequenceFunction@target
>>>>
>>>>>> FindSequenceFunction[{1, 2, 3, 6, 11, 23, 47, 106, 235}]
>>>>
>>>>>> (fail)
>>>>
>>>>>> f[x_] = InterpolatingPolynomial[target, x]
>>>>
>>>>>> 1 + (1 + (1/
>>>>>> 3 + (-(1/
>>>>>> 12) + (7/
>>>>>> 120 + (-(1/
>>>>>> 60) + (1/144 - (41 (-8 + x))/20160=
>>> ) (-7 + x)) (-6 +
>>>>>> x)) (-5 + x)) (-4 + x)) (-3 + x) (-=
>>> 2 + x)) (-1 + x)
>>>>
>>>>>> and now the next term:
>>>>
>>>>>> Array[f, 1 + Length@target]
>>>>
>>>>>> {1, 2, 3, 6, 11, 23, 47, 106, 235, 322}
>>>>
>>>>>> But, unsurprisingly, the next term in A000055 is 551, not 322.
>>>>
>>>>>> A000055 actually starts with another three 1s, but that doesn't
>>>> change
>>>>>> things much:
>>>>
>>>>>> target = {1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235};
>>>>
>>>>>> FindLinearRecurrence@target
>>>>
>>>>>> FindLinearRecurrence[{1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235}]
>>>>
>>>>>> (fail)
>>>>
>>>>>> FindSequenceFunction@target
>>>>
>>>>>> FindSequenceFunction[{1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235}]
>>>>
>>>>>> (fail)
>>>>
>>>>>> f[x_] = InterpolatingPolynomial[target, x]
>>>>
>>>>>> 1 + (1/24 + (-(1/
>>>>>> 40) + (1/
>>>>>> 90 + (-(1/
>>>>>> 280) + (1/
>>>>>> 1008 + (-(43/
>>>>>> 181440) + (191/3628800 - (4=
>>> 37 (-11 + x))/
>>>>>> 39916800) (-10 + x)) (-9 + =
>>> x)) (-8 + x)) (-7 +
>>>>>> x)) (-6 + x)) (-5 + x)) (-4 + x) (-3 + x) =
>>> (-2 + x) (-1 +
>>>>>> x)
>>>>
>>>>>> Array[f, 1 + Length@target]
>>>>
>>>>>> {1, 1, 1, 1, 2, 3, 6, 11, 23, 47, 106, 235, -502}
>>>>
>>>>>> So I ask you, from the data alone: what's the next term?
>>>>
>>>>> It's the sort of question where one might expect a specialist to
>>>>> recognize a familiar sequence. It's all context.
>>>>
>>>>> Consider that in a narrow mathematical sense, spectroscopy is an
>>>>> utterly ambiguous, "ill conditioned" problem. But show me a gigagauss
>>>>> cyclotron spectrum, and I'll recognize it as such (see the
>>>>> acknowledgment at the end of arxiv.org/pdf/astro-ph/0306189: the
>>>>> authors were struggling to contrive an interpretation from atomic
>>>>> physics before one of them showed the spectrum to me). But I expect
>>>>> very few could do this, since few have the background.
>>>>
>>>>>> If one had the Encyclopedia of Integer Sequences handy, those SAT
>>>>>> questions could be interesting. But they'd still be nonsense.
>>>>
>>>>> No they are not. Remember that the SAT isn't about the ability of a
>>>>> student to function in some ideal abstract world of infinite
>>>>> possibility. In the real world of academia, every single question
>>>>> they
>>>>> will encounter will be ambiguous in some sense. The issue here is
>>>>> whether the student has enough common culture with the test writer to
>>>>> find the same answer. And that's *always* an issue.
>>>>
>>>>>> Bobby
>>>>
>>>>>> On Fri, 01 Jan 2010 04:32:58 -0600, Noqsi <j...@noqsi.com> wrote:
>>>>>>> On Dec 31, 1:16 am, DrMajorBob <btre...@austin.rr.com> wrote:
>>>>
>>>>>>>> This is a little like those idiotic SAT and GRE questions that ask
>>>>>>>> "What's
>>>>>>>> the next number in the following series?"... where any number
>>>> will =
>>>
>>>>>> do.
>>>>>>>> Test writers don't seem to know there's an interpolating
>>>> polynomial=
>>>
>>>>>> (for
>>>>>>>> instance) to fit the given series with ANY next element.
>>>>
>>>>>>> Explanations in terms of epicycles may be mathematically adequate
>>>> in=
>>> a
>>>>>>> narrow sense, but an explanation in terms of a single principle
>>>>>>> applied repeatedly is to be preferred in science. The ability to
>>>>>>> recognize such a principle is important.
>>>>
>>>>>>> And my mathematical logician son (who's looking over my shoulder)
>>>>>>> directed me tohttp://www.research.att.com/~njas/sequences/for
>>>>>>> research on this topic. When he encounters such a sequence in his
>>>>>>> research, he finds that knowledge of a simple genesis for the
>>>> sequen=
>>> ce
>>>>>>> can lead to further insight.
>>>>
>>>>>> --
>>>>>> DrMajor...@yahoo.com
>>>>
>>>> --
>>>> DrMajor...@yahoo.com
>>>
>>>
>>
>>
>> --
>> DrMaj...@yahoo.com
>>
>
Bobby
On Fri, 08 Jan 2010 03:14:48 -0600, Daniel Lichtblau <da...@wolfram.com>
wrote:
> Richard Fateman wrote:
>> Andrzej Kozlowski wrote:
>>> [...]
>> 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.
>
> It is known whether this thread is rational. Empirical evidence seems to
> argue against it.
>
>
>> [...]
>> Maybe you think that Mathematica has a human mind?
>
> Of course she does.
>
>
>> (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.
>> )
>
> That (a misfeature), or maybe it's a missing feature in some other
> programs. I rather like this behavior of Equal, though I agree there is
> good sense behind some recent criticisms to the effect that maybe it
> should be configurable (regarding bits of slop, or relative or absolute
> error specifications).
>
>
>> [...]
>> 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.
>
> I would be far more troubled if 1.2===12/10 gave True (that is, they
> were deemed SameQ rather than just Equal).
>
> Much of the town is shut down, including schools (though, alas, not the
> HS drama club trip). I had to shovel out this morning before work. I'll
> have to shovel again when I get home. So here I am, and it feels like I
> am still shovelling. Such sound and fury...
>