Reviewed by Roger Pinkham*
Riemann's theorem that a conditionally convergent series can be rearranged to converge to any specified sum is a wonderful example (classroom or homework) of what was here-to-fore impossible. Since the series converges, the individual terms tend to zero, but the series of positive terms diverges to infinity; the series of negative terms to minus infinity. If the desired sum is s, take just enough terms from the series of positive terms to add to no less than s, then take just enough negative terms to come to no more than s, repeat. Because the individual terms tend to zero you can get as close to s as desired. To see this on a printout or on a monitor with an overhead screen, or better yet to write the program yourself, is to experience the theorem in a way that one never could by hand, and cements the conceptual argument lastingly in the mind.
Why is it that more use is not made of such opportunities in the classroom? I think it is a question of user-machine interfaces. Few indeed are the professional mathematicians willing to learn, say, C++ sufficiently well to confidently provide their students with great computer graphics demonstrations. With all the other burdens, it's just not worth it. Conclusion? The most ingenious piece of software will never be used extensively unless the front end (*user machine interface) is intuitively appealing, adheres religiously to consistent standards, gives genuinely helpful error messages, and anticipates likely mistakes. This means that the most painful time consuming and important part of a piece of potentially useful software is the design and implementation of the front end.
The software under review, MLAB, is a marvel in this regard. The company is called "Civilized Software":, and they mean it! It appears the software was originally written for a mainframe at NIH and subsequently ported to the PC. Although it is a general purpose tool with its own programming language and "camera-ready" graphical displays, it has a very large number of "one liners" like Mathematica, Derive, or Macsyma, providing everything from the inverse non-central students's t distribution to the singular value decomposition of matrices. In this regard I must say it has some of the best matrix handing routines I have ever seen. Like Alice's Restaurant you can get "anything you want" and without having to turn yourself into a pretzel. The program is interpretive, as is probably already clear, and thus provides instant feedback.
Anyone learning a new computer system knows that two things are vital to easing the initial agony - a really good reference manual and a collection of thoughtfully selected examples. MLAB has both.
Now MLAB reflects its origins. It has superb facility for fitting models to data. If you think your data are described by a system of differential equations, this software will provide a least squares fit. It's not that you couldn't do this with some other system, you wouldn't want to suffer the time and effort to pull it off. MLAB has it packaged to go. MLAB has good facilities for keeping a log of your commands as you progress and for permanently saving sessions and graphs for future use. Lastly, you do not have to learn the entire system to make effective use of the piece you need.
So much for the good news. What's the down side? First, you must have a math coprocessor to run the package. For a 386 machine this will cost around $190. Secondly, the full blown system is $3000. There is, though a stripped-down version for around $995. This cheaper version has all the general features of the full-blown system but is minus some of the specialized functions provided by the "one liners".
It seems to me that this software would be an eminently sensible purchase for a laboratory of experimenters and/or data analyzers with similar data-modelling problems. For a sole mathematician or statistician I think the cost renders it doubtful.