Maths education is the main market for Derive, but Ray Girvan thinks this software should have a much wider appeal
One of my favourite mathematician stories concerns the days long before sieving Mersenne numbers for big primes became a routine effort via GIMPS (the Great Internet Mersenne Prime Search). In October 1903, Frederick Nelson Cole presented to the American Mathematical Society a talk called 'On the Factorization of Large Numbers'. Cole simply walked to a blackboard, calculated 2^67-1, then beside it multiplied 193,707,721 x 761,838,257,287. The results, for which he received a standing ovation, were equal: the result of 20 years of Sunday afternoons spent to find the factors of the Mersenne number M67.
With Derive 6 on a Pentium, the equivalent FACTOR(2^67-1, Rational) takes 0.281 seconds.
Although the performance wasn't as dramatic, my first experience of a symbolic algebra program, the MS-DOS version of Derive, still impressed me. Having seen it from almost the beginning, I'm always interested in the latest development in what has become a success-story. Derive sprang from a small Honolulu company, Soft Warehouse, founded with an 8-bit IMSAI 8080 computer, 4k RAM, and $1,000 working capital. Over 25 years, it achieved an international market before being acquired by Texas Instruments. (In addition, its designers have the kudos of Derive featuring alongside Macsyma and Mathematica in the Smithsonian Museum's exhibition of classic American educational tools.)
Derive 6 is compatible with, and builds on, Derive 5, the first Windows version after Texas Instruments bought Soft Warehouse in August 1999, to integrate it with its graphing calculator range. At the time, many Derive users were concerned that the buyout might be the preamble to format changes, or even the end of the PC version. This scenario didn't materialise; under TI's management, Derive's programmers improved the Windows interface while keeping faithful to the original style. Derive 6 tightens the link between the PC and handheld markets with the ability to port worksheets between PCs and the TI-89, TI-92+, and Voyage 200 graphing calculators.
It's always tempting to play at spotting trends in mathematics software. Recently, a number of makers have incorporated in their packages the options to display working steps in a derivation (e.g. ShowSteps in the Maple 9 student calculus package) and to provide slider-bar graphic input (e.g. Maple's Maplets and Mathcad). Derive 6 features these too, as Display Steps, and the new slider-bar control of graph parameters. But they're not merely trend-following; they're particularly relevant to Derive's educational market, and the techniques devised by educationalists for the use of computer algebra systems (CAS) in mathematics teaching.
The Display Step mode, which shows the transformation rules Derive has applied during a simplification, tackles the traditional objection - mirrored in the similar and long-dispelled fear of calculators - that a computer algebra system (CAS) teaches nothing about algebra by jumping straight to a solution. Similarly, the slider-bar allows live application of the 'Window Shuttle' method of exploring a function by replotting a graph for various inputs. For instance, the slider can roll a tangent along a curve to demonstrate how the gradient varies from point to point. A more subtle difficulty is that a CAS may baffle a student by outputting a different, but not obviously equivalent, solution to the textbook; or invoking so-far-unlearned concepts such as a polynomial solving to complex roots. The 'Module Method', where worksheets are pre-programmed by the teacher to avoid such unpleasant surprises, is easily applied with Derive.
The Derive 6 manual by Bernhard Kutzler and Vlasta Kokol-Voljc (both major researchers and proponents of CAS in education) also provides hints for such techniques through its educators' footnotes. Introduction to Derive 6 isn't a systematic travelogue of Derive functions, but a set of sample investigations showcasing various aspects of the program. Unusually for a software manual, it strongly fosters a mathematician's mindset, explaining work-arounds for the unexpected results that can stem from theoretical and algorithmic limitations in areas such as variable domains, approximation errors, and plotting algorithms.
Other updates to Derive 6 are more general. Some concern graphics, such as the option to automatically label any plot with the plotted expression; and in 3D mode, mouse-rotation of plots, and adjustable parameters for data-point sizes and the colour and position of mesh lines. There are also some nice developments in overall usability, especially the replacement of Derive 5's single-window hypertext help with a standard dual-window Windows help with a collapsible topic tree. Other changes include the adoption of a 16-bit Unicode font that unifies all expressions and text, whatever the language; a bracket checker for troubleshooting syntax errors; an optional four-line input window, to avoid sideways scrolling on large expressions or programs; HTML links in text objects; and a utility to customise menus, keyboard shortcuts, and each toolbar's command icons.
I didn't have facilities to try first-hand the porting to TI calculators, but there are unlikely to be major compatibility problems. Their onboard algebra systems are based on the same technology as Derive, the result of a seven-year collaboration between TI and Soft Warehouse, whose programmers still work for TI. There are, however, syntax differences (for instance, Derive's SOLVE becomes cSolve on the Voyage 200) so that worksheets will need editing to run properly after porting in either direction.
In all, Derive 6 is a solid 'evolutionary' update to an established package. Its mathematical repertoire is obviously narrower than the heavyweight packages, such as Maple and Mathematica, largely in areas such as arguments for functions. The Simplify command, for instance, can't be customised to look for any chosen form, but is limited to some preset transformations: collect/expand for exponential, log, and trig expressions; sine/cosine for trig powers; or just 'auto', which is the programmers' best assessment of the transformation leading to the simplest result. But this subset of possibilities is a good practical choice, and in my view Derive 6 is closely comparable in power to Wolfram's 'Mathematica Lite' CalculationCenter.
My only serious criticism is that you wouldn't know this from first impressions. Derive hides its light under a bushel, since most functions aren't accessible via the front menu. For instance, to find that the correct syntax for the Gamma function is GAMMA(z) you need to open the help files and find it in the probability functions page. In contrast, with CalculationCenter you just pull down Basic Math / Special Functions / Gamma. Texas Instruments would do well to follow this example, rather than limiting the menus to the major algebraic manipulations. It would improve the accessibility of a well-designed and affordable program that I think is far too good to be limited to the educational field.
Derive in brief
Derive 6, from Texas Instruments, is the new Windows 2000/XP version of a program first released in 1989 by Soft Warehouse of Hawaii. Written in LISP, it's unusually compact for a symbolic package: 3.3Mb for the main program - about 8Mb with all support files - with no system requirements beyond those to run Windows itself.
The main interface of Derive is its Algebra window, where formulae are input by command line and manipulated by pull-down menus of transformations. This window acts as an integrated worksheet that can contain algebra and text regions, embedded plots from associated 2D and 3D plot windows, and any Windows OLE object. The work can be saved in either of two native file formats: .dfw that saves the entire worksheet along with embedded objects, and .mth that saves only mathematical expressions and annotations.
The numerical formats used are 'exact' - integers, their fractions, and surds - or floating point, in both cases with precision limited only by working space. The 250 built-in functions cover general-purpose areas such as trigonometry, probability, and statistics; these are augmented by 300+ specialist functions and 30 user-contributed packages in utility files loadable on demand. The latter include physical constants, conversion factors, and packages of advanced functions such as non-linear and complex equation solvers, first and second order ODE solvers, graphics functions, and Bessel and elliptic functions.
The high-quality plot modules incorporate work by David Parker, author of the commercial scientific visualisation package DPGraph. Plot types include Cartesian, polar, parametric, data matrix, and implicit, with the ability to flood-fill areas defined by inequalities or Boolean intersections of functions. The full-colour 3D surface plots allow real-time rotation and zooming, with utility files of ready-made graphics-plot routines such as space curves, complex-valued expressions, and polygon fill. Derive offers a mixed programming paradigm: its original slant toward functional programming (single-function programs built from nested functions with internal iteration) was modified in version 5 to include LOOP...IF...EXIT and LOOP...IF...RETURN procedural constructs. Formulae can be exported in Basic, C, Fortran, Pascal, and Rich Text Format.
Derive's primary market is in school and university education, with a particular strength in Europe, where it is used in curricula in Austria, France, Slovenia, Slovakia, Belgium, Sweden, and several German school authorities. Teaching is well supported by the Derive infrastructure, with many commercial application books, both about Derive alone and in relation to TI-family hand-helds. Further help is available via the Derive User Group (DUG) and its Yahoo! eDUG forum, both run by Austrian teacher Josef Boehm, as well as the UK-based Derive-news electronic mailing list.
Derive is currently supported in the USA by Texas Instruments, and in Europe by the Austrian company Soft Warehouse Europe, which republishes Derive and its manuals in various translations.