The 2002 SIAM Challenge

This "Hundred Digit" Challenge consisted of ten numerical analysis problems, each having a single real number answer. For each, a maximum of ten points were available (one per correct significant digit).

The problems were published in SIAM News of Jan/Feb 2002, and later in Science and elsewhere. The answers and winners have now been announced by the Challenge's organiser, Prof. L. N. Trefethen of Oxford Univ., and a write-up will appear in the July/Aug 2002 issue of SIAM News.

94 teams (of one to six members each, and from all across the world) entered. Of these, 20 teams became joint winners by scoring a full hundred points. Among those is the team that was formed in the CompuServe SCIMATH forum, an online discussion message board, and consisted of Brian Medley (front, in the picture), Bernard B. Beard (centre), and Marijke van Gans (me, at the back).


How we worked

We found out about the Challenge in mid March 2002 when Bernard posted a message, suggesting the forum field a team. Within three days, there were answers on the board for half of the problems: 2 was polished off first, 6 not long after (but corrected later), then 4 and 1 were announced within five minutes of each other, and then 7. Once these answers (see below) started coming in, the idea of entering became realistic. Several people had shown an early interest, but indicated they would only want to join the team if they managed to solve one of the problems.

That set the tone for our approach: each member of the budding team worked individually on the problems. The hope was that once two of us had both done the same problem without knowing the other's workings, we would not have made the same mistakes and so be able to catch errors. The approach paid off because that is exactly what happened, more than once.

This was not imposed in any way, we freely shared our workings for the asking, but each refrained from asking about those problems they thought they might still want to tackle themselves later. We did help each other with explanations of finer points of math, with algorithmic wrinkles, and references to resources.

Progress reports took place via the (public) message board. Only the bare digits though; any workings we eventually shared went via email. This compromise was deemed sufficient not to lead any lurkers in temptation of cribbing (as the Challenge would only accept answers with an indication of method used).

The team that coalesced in this way consisted of the three of us. We already knew each other (online, that is) from the forum, having joined it in the mid nineties. We worked on the problems off and on, other commitments permitting. The pace picked up again towards the deadline, when 5 finally yielded, and 10 and 8 became cliffhangers.

Our solutions

Number of digits reproduced below is what we actually submitted. In some cases our programs would easily yield a few more than shown here (most of all with problem 2, where simply choosing a higher precision in UBasic will yield over 1200 correct digits within a second or so). In some other cases though we had to struggle to get our tenth digit...

All our programs run on ordinary personal computers. No expensive math software packages were needed, and any techniques we didn't develop ourselves can be found freely on the web or in cheaply available standard works.

1:   0.323367431678   (the integral of  x-1 cos(x-1 log x) )
Solution by Medley

2:   0.9952629194433541608903118094   (the photon)
Solution by v.Gans
Solution by Medley

3:   1.274224153   (the norm of infinite matrix A)
Solution by Medley

4:   -3.3068686474752   (the global minimum)
Solution by v.Gans
Solution by Medley

5:   0.2143352346   (the cubic closest to 1/G )
Solution by v.Gans

6:   0.06191395447399   (the flea)
Solution by v.Gans
Solution by Medley

7:   0.7250783462684   (the 20,000² matrix)
Solution by Medley
5 digits & pic by v.Gans

8:   0.424011387034   (the heat flow one)
Solution by Beard

9:   0.78593367435   (the integral with param a)
Solution by Medley

10: 0.0000003837587979   (the Brownian motion)
Solution by v.Gans

Because of the requirement for high precision (usually, ten digits in the result requires far more in the intermediate workings) only a few of our programs were in C. Most were in UBASIC, a number theory oriented freeware BASIC by Prof. Yuji Kida of Rikkyo Univ., with many goodies, not just high precision but also complex numbers, rationals, C style += etc. etc. Reassuringly, it uses fixed point fractions rather than floats. We used version 8.74 for DOS. Later versions exist, for several platforms.

Other people's solutions

Several other winning teams have now put the methods they used online, and the differences in approach make interesting reading. Last time i looked, the list of people who had done so, apart from us, stood at

J. Boersma, J.K.M. Jansen, F.H. Simons, F.W. Steutel
Folkmar Bornemann
Michel Kern
Dirk Laurie
Peter Robinson
Peter Simon and Kim McInturff
Stan Wagon & Danny Kaplan

(some of these are people's homepages, follow the relevant link on the page).

URL of this page: (this version was updated 15 June 2002)