The Wayback Machine - https://web.archive.org/web/20120419132713/http://pi.lacim.uqam.ca:80/eng/server_en.html
Plouffe's Inverter
 
About the server
 
The first table of mathematical constants table is very old but we could say that the closest that first existed and resembles to what we do here is the Potter and Robinson table done in 1971. It was the first collection of math constants sorted in numerical order. It began (for me) in March of 1986. I was collecting articles from Mathematics of Computation, and was patiently entering the numbers into a computer database of real numbers. I entered all the tables I could find at that time. My goal was to make it as complete as possible in order to conduct some experiments with these numbers. I persevered for about 2 years, and then I communicated with Walter Gautschi and Daniel Shanks, editors of the `Unpublished Mathematical Tables' or UMT. I realized then that most of these tables could in fact be generated with a micro-computer and that it would have been difficult to automate the task of entering them in the database. Thus, I began to generate my own tables of real numbers and to collect as many articles I could find on that subject. Then in 1989, I obtained a copy of Jonathan and Peter Borwein's book A Dictionary of Real Numbers. I was truly encouraged by their efforts and was elated to learn that I was not alone in being interested in the question of identifying a real number. At that time I had about the same amount of entries as they did and was naively trying to make a system.
 
I continued to collect numbers until the Encyclopedia of Integer Sequences project intervened. It occupied most of my time, but it was finally released in 1995 (Academic Press) after 4 years of work with Neil J.A. Sloane. Needless to say, it was a fantastic experience. We (with the great help of François Bergeron of Université du Québec à Montréal, Bruno Salvy and Paul Zimmermann, both at INRIA in France), created the program GFUN, a Maple package for the manipulation of power series. Their contributions were crucial - they wrote most of the final version. That program could do things that were somewhat unusual, among them, it could guess a generating function from the first few terms of a series by using an algorithm of Padé/Cabay/Choi/Geddes for rational fractions (see 'convert/ratpoly' in MapleV and Journal of Experimental Mathematics, vol. 1, #3 (1992)). This very program (and a lot of others by Neil Sloane and his colleagues) is used presently in the sequence server at the Bell Labs (see Electronic Journal of Combinatorics, Vol 1, #1).
 
All this created a need to jump to the other side, that is: The Real Numbers. The question is simple: if we can from a few terms of a series, using a good algorithm and some heuristic, guess what the generating function is, then, could that method perhaps be used for real numbers, that is, from a 'string' of digits, can we guess where the number comes from? This idea was milling around in the minds of Peter and Jon Borwein for a long time, and when we met (by mail first, mostly by accident (see Additions Theorems and Binary Expansions ), and then in person in January 1995) we realized that it would be very useful to have a system that could deal with this INVERSE problem. We quickly came up with a simple idea: a giant calculator with a very large display and ONE button. The button would do only one thing, answering the question "What is the number made of?"
 
This created the ISC, The Inverse Symbolic Calculator that opened on July 18, 1995. The success was almost immediate. The ISC obtained many web awards and was the subject of many articles. Here is a couple related articles.
 
Related to The Encyclopedia of Integer Sequences and GFUN.
A question of Numbers , The American Scientist, by Brian Hayes.
 
Related to Pi.
A passion for Pi, Ivars Peterson, Mathland.
Obsession de Pi, article de Pour la Science, Jean-Paul Delahaye.
 
Related to the ISC and now the Plouffe's Inverter.
From Numbers to Formula, Ivars Peterson/Mathland.
Pour la Science, (L'inverseur de Plouffe), an article of Jean-Paul Delahaye (to appear)
 
All those articles and many others can be reached in from my home page.
 
During the summer of 1995, Adam van Tuyl helped very much in designing the first web engine and later Paul Irvine (CECM), helped further in designing a much better interface and some very clever tricks that we applied to have a smaller database and a faster search.. The CECM research team at Simon Fraser University with Loki Jorgenson, Jon and Peter Borwein funded, managed and helped a lot with their encouragement and support.
 
Now the continuation of the ISC is called the Plouffe's inverter and has a new home.
 
The database
 
The database is a collection of a few hundred tables which have from 50 to 11,000,000 entries. In total there are 75 million entries (as of April 16,1998. In addtion there are 2 other sets of tables, the databse of Integer entries (about 3 million) and the database of digits of constants. In summary we have this:
 
Real Numbers Database 72 million entries / 4 gigabytes.
Digits of Constants , 1.5 gigabytes including the latest digits from various records of computations.
Integers Databse , about 3 million entries.
 
The Real Numbers database is organized in 9000 tables, I took the natural ordering of the real numbers to index the databse : this means that there are NO index!, since it is already sorted in natural order.
Each table name is 4 digits (prefixed with a letter), like the entry for Pi is in table a3141. In this fashion we do not need to keep the 4 first digits of the entry. This organization has some drawbacks, according to Benford's law we should expect that 30% of the entries are in tables 1000-2000, that is there are 30% chances that a given real number has its first digit being 1. See those graphs. that shows this phenomenom. My goal is to reach 1 billion constants, which cannot fit on a small disk of course (it would need about 50 gigabytes), but by the time I will be there, it will be available most probably.
 
 
Algorithms
 
There are 4 basic functions : Lookup, Smart lookup, Generalized expansions and Integer Relation algorithms.
The lookup function is simply a lookup in the database, actually if you enter a 7 digits phone number (preceeded with a decimal point), it will usually find something.
 
The smart lookup is like the lookup but before, 141 variations around the constant are computed and then searched in the database. The variations are elementary but not trivial, example if K is the constant then we compute, 1/K, K^2, sqrt(K), log(K), exp(K), sin(K), etc.
 
Generalized expansions is a collection of 15 algorithms to expand a real number into a sequence. Here are some of those algorithms. Here is one example with the continued fractions.
 
Integer Relations algorithms are related to what we call Lattice Algorithms or Integer Relations Algorithms, here is a brief summary of what it means. There is also this conference I made in 1996 that explains the difference between the 2.