Message Boards Message Boards

[✓] Get a numerical recognition using W|A?

GROUPS:

Hello, my name is Claudio and I am a researcher here in Brazil, an enthusiast and big fan of the Wolfram / Alpha platform. While testing the numerical recognition capability of the algorithm, I found something intriguing. I would like to explain in detail and send feedback information to you. What I found: Aligning three points in a parabola such that:

Point 1 = (1,r)
Point 2 = (2,s)
Point 3 = (3,t) ,

The resulting parabola equation is:

y=((r-2*s+t)/2)*x^2+((-5*r+8*s-3*t)/2)*x+(3*r-3*s+t)

Then, integrating in the intervals 1 to 3 and then dividing by 2, this is the integral mean of this parabola in that interval. I will call M this mean:

M = (r+4*s+t)/6

Well, if we use for example:

r = (sqrt(5)+1)/2 ,
s = E ,
t = Pi ,

The average M will be:

M = (1+sqrt(5)+8*e+2*pi)/12 ,
M = 2.60545899269597817135139668384...

Then the intriguing fact begins. When I input this number for Wolfram / Alpha recognition, it generates possible, even more complex, forms using E, Pi, log variables. Wolfram / Alpha generates:

(7+10*sqrt(3)+4*e+8*pi+2*pi^2-3*log(3)+log(8))/(2*sqrt(2)+5*e-10*pi+4*pi^2+log(324))

And it was not able to recognize a simpler form, only with variables with E and Pi, as the original number: (1+sqrt(5)+8e+2pi)/12 . I hope I've been able to explain what I found. I believe that the algorithm skips a simpler step in recognition to try to find a more complex one without having the need, causing a not so precise recognition. I thought you'd like to know that. Please, I would appreciate myself some feedback info. Thanks.

POSTED BY: Claudio Chaib
Answer
4 months ago

I will hazard a guess that W|A does not select a "good" basis in this case and so does not come up with good results. If you suspect in advance that your number is a rational linear combination of certain others, then the Wolfram Language has a function for this called FindIntegerNullVector. It can be used as below.

ee = 2.60545899269597817135139668384;
basis = {Pi, E, GoldenRatio};
relation = FindIntegerNullVector[Join[basis, {ee}]]
guess = -Most[relation].basis/Last[relation]
guess - ee

(* Out[225]= {1, 4, 1, -6}

Out[226]= 1/6 (4 E + GoldenRatio + \[Pi])

Out[227]= 0.*10^-29 *)
POSTED BY: Daniel Lichtblau
Answer
4 months ago

Thanks Daniel, this tool tip was very valuable!

POSTED BY: Claudio Chaib
Answer
4 months ago

Group Abstract Group Abstract