# Two Hundred Thousand New Formulas on the Web

May 6, 2008 — Oleg Marichev , Integration & Special Function Developer, Wolfram|Alpha Scientific Content

The Wolfram Functions Site—which just tripled in size—has a rich story. I have spent most of my career deriving integrals and formulas about mathematical functions. When I lived in the Soviet Union, I co-wrote some of the largest books of formulas ever, which contained altogether about 5000 pages and a total of about 30,000 formulas, and have been reprinted in several languages.

While writing these works, I hoped to eventually automate the process of evaluating integrals. Later, I developed some prototype programs.

Then, 18 years ago, I moved to Wolfram Research and I found a fantastic new world of formula derivation made possible by *Mathematica*, which had a baby’s age—only two years old. I saw that this “child” was born absolutely healthy (without wrong automatic transformations like `Sqrt[z^2] -> z)` and it had all the necessary abilities to become the strongest and smartest “man” of the future. Its health was inherited from his father Stephen Wolfram, who was sure that *Mathematica* must absolutely and correctly reflect nature without non-natural simplification. I decided to devote my life to that “child” by the building of corresponding formulas and programs, which has permanently increased the abilities of *Mathematica* for symbolic operations with mathematical functions. It has been a difficult job, full of complexity and subtlety, but most of what we did was hidden—evident only in the fact that all of *Mathematica*‘s many mathematical functions work correctly and consistently.

All important formulas, whether derived ourselves or found in the literature, we tried either to implement into *Mathematica*‘s commands or to provide other support from *Mathematica*‘s operations. The growing power of *Mathematica* allowed us to derive more and more original formulas, which we also tried to implement or use in *Mathematica*. Such a combination of brains and powerful tools allowed people to make really incredible discoveries. In particular, we are rebuilding and rethinking the entire chaotically presented world of “classical mathematical formulas and functions,” converting it into a new, absolutely correct and internally consistent “computer’s world of formulas and functions.”

This new world satisfies the basic statement: The restriction -π `< Arg[z] ≤ `π applies for any complex number *z.* In the existing literature, formulas haphazardly use this restriction, or use the more restricted form `Abs[Arg[z]] < `π, ignoring behavior of the formulas on the special line `Arg[z] == `π. The last aspect is a crucial difference, which leads to numerous consequences, separating the *Mathematica* world of mathematical formulas from the classical published literature of formulas. The *Mathematica* world is presented at The Wolfram Functions Site and provides the core of mathematical function operations for the *Mathematica* system. The building of this new world is an important contribution of Wolfram Research to mathematics.

In the mid-1990s, following the success of our Riemann zeta function and quintic posters, Stephen Wolfram suggested that we should make a poster presenting our work on mathematical functions in *Mathematica*.

At the time, *Mathematica* already had about 200 built-in mathematical functions, and we wanted to give important formulas and properties for each one. But we had so many formulas. As we started to lay them out on a poster, it got bigger and bigger.

Indeed, by the time of the International Congress of Mathematicians in August 1998, we actually had five separate posters, altogether 36 feet long:

As *Mathematica* itself grew, more formulas and functions went on the ever-expanding posters. It soon became clear that this was not the correct medium. In October 2000, we finished putting all our 37,366 formulas into a new website: The Wolfram Functions Site.

The formulas there cover the range from “elementary” mathematical functions, like sine, cosine, and logarithm; to advanced functions, like Bessel, MeijerG, and generalized hypergeometric functions—the hundreds of types of special functions that arise in pure and applied mathematics. Wolfram Research has always taken special functions very seriously (see, *e.g.*, this essay by Stephen Wolfram), and over the past 20 years *Mathematica* has taken a vast range of special functions that had been treated only theoretically for a century or more and, for the first time, successfully implemented them in practice.

Our 37,366 formulas of October 2000 were only the beginning. By January 2004, we had expanded the site to 87,160 formulas. Many of these formulas, such as the differentiated gamma functions or inverse trigonometric and hyperbolic functions, appeared in The Wolfram Functions Site for the first time (see, for example, this entry).

Now after several more years of work, and the development of several new generations of tools, we have been able to grow the site to more than triple its 2004 size—with a total of **307,409 formulas**!

The site now contains ten times as many formulas as I and my colleagues in the Soviet Union ever derived. Printed out, it would be 80 volumes. It is probably more formulas than have ever been derived in all the mathematical literature on mathematical functions throughout history.

So how did we do it? The answer, of course, is *Mathematica*.

We use *Mathematica* throughout everything we do. We use its symbolic capabilities to create algorithms for constructing new formulas. We use its graphics to visualize the behavior of functions and get intuition about them. And we use its high-precision numerics to spot-check results to thousands of digits.

Sometimes we let *Mathematica* do systematic searches on its own in the space of possible formulas. But more often we work alongside it, exploring mathematical functions together.

When we derive a new formula, we wonder whether it exists somewhere in the literature. But most of the time, we know that it cannot—not only because we know the literature well, but also because the new formula relies on a long sequence of derivations that have only been made possible by the capabilities and functions that we have put into *Mathematica*.

When we compare our work with the literature, we often find mistakes in the literature—some of which have been undetected for hundreds of years. But of course, it’s an unfair competition. Because with *Mathematica*, checking is automatic.

When I used to produce books of formulas by hand, transcription errors were a big issue. But not with The Wolfram Functions Site—the whole site from beginning to end, from *Mathematica* input to web pages, PDFs, and MathML, is built and checked with *Mathematica.*

By now, it is 30 gigabytes of data. Back in the Soviet Union I could never imagine that by 2008 we could have learned so much about mathematical functions. Of the 210,000+ new formulas, many were generated with powerful symbolic programming for generalized hypergeometric functions that is unique to *Mathematica*. In addition, concise introductions are now included to the various groups of special functions, such as elliptic integrals. The introductions allow a novice to get a gentle overview of the most important characteristics of a special function.

I’d like to thank the many people who have helped make this possible, especially Michael Trott (who is the real co-author of this site), as well as Sasha Pavlyk, Yury Brychkov, and the whole *Mathematica* team, together with Brendan Elli, Andy Hunt, Eric Weisstein, Adam Strzebonski, Daniel Lichtblau, Ed Pegg, Jean Buck, and everyone who has helped in the final creation of The Wolfram Functions Site. We are especially thankful to Stephen Wolfram, who steadfastly supported this project over the course of nearly two decades.

## 3 Comments

How many of these 307,409 formulas explore meta primitives?

Please direct me to relevant site

Wolfram Functions site – My favourite web site in the world

Regards to everyone,

How do I calculate the Extended Generalized Bivariate Meijer G Function in Mathematica?