Wolfram Computation Meets Knowledge

Why You Should Care about the Obscure

Mathematica has always had the most complete collection of special functions available. You might think that by now there were no more to add, but the next release of Mathematica will add another five. You might also think that any that are left to add are too obscure for you to care about. They are getting fairly obscure, but you should still care.

Let’s look at one of them: Owen’s T function.

This function was created by Donald Owen Bruce, an American statistician who stood out during the Cold War because of his knowledge of Russian statistical advances, which at the time would not have been considered good for his career. Owen’s career spanned the entire Cold War period, from his entry into the American Mathematical Society in 1948 (as cited in the Bulletin of the American Mathematical Society meeting minutes) through his last book in 1988, Beating Your Competition through Quality.

The Owen T function dates from his theoretical work in the 1950s, before he moved on to applications in oil exploration and early contributions to manufacturing quality processes, which would eventually evolve into techniques such as six-sigma.

Wikipedia manages only a single formula. Not much recognition for a function that has been around for over 50 years.

But special functions are not added to Mathematica for their own sake, or for some collector’s desire for completeness; they are added because they are useful. The T function is involved in all kinds of calculations related to probability and statistics. Because Mathematica automates computations, you might not know when it is being used, but the accuracy, speed, and even the solvability of your tasks may depend on it. Such as this probability question:

Probability question

Sometimes it might even surprise you by popping up in your answers:

Answer using Owen's T function

One of the reasons for its obscurity has been the difficulty in working with it; there are a handful of machine-precision FORTRAN libraries for numeric calculations, but any more than that and you need to start programming. Mathematica will change that. Every function in Mathematica gets a full implementation (carefully integrated with every part of the system)…

Full implementation of Owen's T function

Full implementation of Owen's T function
Full implementation of Owen's T function

…as well as exact values…

Exact values for Owen's T function

…and symbolic rules:

Symbolic rules for Owen's T function

Perhaps when it is just another part of the computational infrastructure, the function will become more popular, in the same way that you routinely see ProductLog in models in a way that might have seemed very exotic 20 years ago.

For some perspective on the likelihood of that, I encourage you to read Stephen Wolfram‘s very entertaining “The History and Future of Special Functions”.


Join the discussion

!Please enter your comment (at least 5 characters).

!Please enter your name.

!Please enter a valid email address.


  1. Impressive stuff. When I was 18, my respect for special functions etc. peaked. It did look like one would know “the bulk of the wisdom about the world” if he learned “all” these special functions etc.

    Well, I no longer quite think so today but they’re still important and it’s great that they’re being remembered by Mathematica – at least as memorials remembering more scholarly centuries of the past because my estimate for the number of people who will actually use OwenT (in a context unrelated to testing of the features) in the next 3 years is about 0.170287 people.

    Guess how I calculated the number.

  2. Wikipedia has zip about Dr Owen! The Donald B. Owen Award is given annually to an outstanding statistician by the San Antonio Chapter of the American Statistical Association. Several of his students are influential statisticians in San Antonio. Nice to see he’s being immortalized in Mathematica.

  3. Interesting article.

    Is the “Probability” function in the given example available for version 7 ?

  4. >I encourage you to read Stephen Wolfram’s very entertaining “The History and Future of Special Functions”

    Yes, that was an amazing read. My favorite part was:

    “Israil Solomonovitch Gradshteyn was born in 1899 in Odessa, and became a professor of mathematics at Moscow State University. But in 1948, he was fired as part of the Soviet attack on Jewish academics. To make money, he wanted to write a book. And so he decided to build on Ryzhik’s tables.”

    Once upon a time an academic could MAKE MONEY by writing a book! About math! That had actual numbers in it!

  5. I opened a new preprint proposing non-associativity in closed string backgrounds and look what I saw on page 5/29:


    Well, it’s not quite Owen, but the picture is close haha.

  6. Observant readers will also notice the SkewNormalDistribution function in the above post — also not in version 7, so it must be new in 8, too.

  7. >”Perhaps when it is just another part of the computational infrastructure, the function will become more popular, in the same way that you routinely see ProductLog in models in a way that might have seemed very exotic 20 years ago.”

    Hey, just FYI, speaking of things that seemed ‘exotic’ many years ago but now are ‘just another part of the computational infrastructure,’ back in 1972 writing in the novel “The Terminal Man,” Michael Crichton included the observation, re the computer wizard Gerhard, “His work with programs like George and Martha had led him to understand that relatively simple computer instructions could produce complex and unpredictable machine behavior,”

  8. I wonder what kind of performance gains they are seeing with the optimized implementation. I copied the formula off Wikipedia and it takes almost 13 minutes on a 1.6 GHz processor to generate the plot he shows!

  9. Complex and unpredictable machine behavior is the norm around here. You can not imagine what my washing machine does to the socks.

  10. @Michael
    Good point, it was remiss of me not to have discussed performance. Here is the result, in seconds, on my 2.66 GHz Windows laptop:

    In[1]:= Timing[
    Plot3D[Re[OwenT[1/2, u + I v]], {u, -1, 1}, {v, -2, 2},
    Exclusions -> {{u == 0, v^2 >= 1}}];]

    Out[1]= {1.045, Null}

  11. Thank all of you who have given deserving credit to not only an amazing statistician, but an amazingly kind, driven, and immensely gifted person as well. My aunt (his daughter,) and I were just conversing on the fact that Wikipedia has nothing on my grandfather. I have an immense amount of graditude for your kind words.