Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does inverse symbolic calculator work? [closed]

I saw this advanced inverse calculator. It takes as an input any number and find suggestion to closed forms which give a close result.

For example for the input: 0.4633300532797865327

It returns:

sin(2*Pi*3/7)
cos(Pi*5/14)
sin(Pi*x) x=1/7
Re((-1+0*I)^(19/14))
Chebyshev1(21,x)
Chebyshev1(35,x)
Chebyshev1(7,x)
Chebyshev2(13,x)
Chebyshev2(27,x)
Chebyshev2(41,x)
fsolve(poly(cos(Pi/14)

How would you build an index for fast lookup? What if we want to support varied error range (distance to the actual input value)

Also I am not sure what is the syntax the tool I mentioned use for its results e.g. what is Chebyshev2(41,x) or fsolve(poly(cos(Pi/14))

like image 537
0x90 Avatar asked Mar 08 '23 03:03

0x90


1 Answers

I do not have enough characters, so I am answering to the comment below the original post.


Exactly. This is not a trivial question, but it is a question nonetheless. The computer is dumb, but it is very fast at it. It can't think, or whatever : but it will give you an answer related to your question. If your question is "10", it will need to know where to go, and where to search. A number like this doesn't help because there is an infinite number of answers, and you want to narrow your answers accordingly.

A simple example of infinite answers would be : 10 =

  • 9 + 1
  • 8 + 2
  • 8 + 1 + 1
  • 9 + 2 - 1
  • ...

But now, you need to give credits to some answers more than others. How would you do that ? By having a history of, either the users specifically (an individual), or a certain cluster of people, or just everyone.

We have very briefly settled that we need to make a history, but as you said : How would you do it efficiently ? And that's a very different question.

Here is one example.

  • Register and save the data from a bunch of calculators around the web. Anonymize the data so you can't trace it back to one specific user, but save a way to know it is this user specifically.

  • Save the user inputs, along with some other information (Is this science data ? Sociology ? Politics ? Stats ? Linear algebra ?). This whole will be linked to the output via some neural network.

  • As for the last part, it will be the "reverse engineering" problem. Trivially, and probably too abstractly explained : if you want to reverse "10", it will know where it most went according to the number of iterations made, and path it took to get there. Using the other information you provided such as above (using cookies, or information the users would have just put), you may achieve to narrow your answers enough to have something great !

THIS BEING SAID, the answers you are asking is shown on your website...

The Inverse Symbolic Calculator (ISC) uses a combination of lookup tables and integer relation algorithms in order to associate a closed form representation with a user-defined, truncated decimal expansion (written as a floating point expression). The lookup tables include a substantial data set compiled by S. Plouffe both before and during his period as an employee at CECM.

like image 181
IMCoins Avatar answered Mar 09 '23 18:03

IMCoins