Ease of Use

  • A rich graphical user interface lets you quickly tackle one-off problems.
  • For more elaborate tasks, the intuitive command language makes script writing easy. For example, to graph two data vectors x and y against each other, just type "graph x y".
  • Automatic script-writing mode will create a script based on your GUI point-and-click actions. Write scripts without typing a single command!
  • Data manipulation is easy with Extrema's automatic expression evaluation. For instance, if you have 10,000 (x,y) data coordinates stored in vectors x and y, you can instantly compute each of their distances from the origin with "d = sqrt(x^2 + y^2)".
  • Simple, easy-to-understand programming constructs allow you to write code with little or no programming experience.
  • The GUI gives you ALL the power of the low-level language, and vice versa.

3-D Graphing

  • Contour plots: colour, legend, area/volume tabulations, control over contour label size, colour, separation, etc.
  • Density plots: derivatives, random point type, box type, colour filled regions, dithering patterns with automatic or user defined patterns, diffusion type, profiles, legend, area/volume tabulations, etc.

2-D Graphing

  • Customized 2-D line graphs, scatter plots, horizontal or vertical bar charts, each with a large variety of type styles and fonts of any size and color
  • Customized or automatic legends
  • Multiple axes with arbitrary axis positioning
  • Fill the area between data curves or fill individual histogram bars
  • Logarithmic axes, to any base, including e
  • Axis scaling can be automatic or user set (including commensurate axes)
  • Labels can optionally follow the curves on rescaling a graph
  • Many plotting symbols, with control over size, colour and angle
  • Complete control over axis appearance (short/long tic mark length and angle, separation between tic marks and axis labels, axis angle, length and location, axis labels size, colour, font, number of digits, etc.)

Data Reduction & Analysis

  • Differentiate/Integrate an arbitrary expression
  • Interpolate 1-D or 2-D data using various methods (linear, Lagrange, weighted splines under tension, Fritsch-Carlson, etc.)
  • Smooth data using various methods (weighted splines under tension, Savitzky-Golay filters, etc.)
  • Convolution and deconvolution of data
  • Integral transforms of arbitrary expressions
  • Fast Fourier Transforms and Inverse FFT's
  • Reorganize data (sort, step, roll, wrap, etc.)
  • Weighted (re-)binning of 1-D or 2-D data into automatic or user defined bins (specified by centres or edges)
  • Find multiple real roots of an expression
  • Recursive and non-recursive digital filters
  • Manual or automatic determination of data extrema using graphics cursor
  • Fit data with an arbitrary, non-linear, expression involving up to 25 variable parameters
  • Ellipse fitting
  • Calculation of parameters for least-squares fit using adjustable parameters
  • User defined and named variables (scalars, vectors, matrices, strings, arrays of strings)
  • Full indexing on variables and expressions
  • Literal vectors may be specified as a list or a range
  • Boolean operators (<, >, &, etc.)
  • Array operators (inner/outer product, matrix transpose, etc.)
  • Over 200 built-in functions including: scalar type (Bessel, Clebsch-Gordan, etc.); array type (sum, product, loop, where, etc.); string type (case, date/time, etc.)
  • Mathematical/character expressions may appear in any suitable command parameter
  • Use character variables to substitute for complicated expression substrings

Data Input/Output

  • Display the history of variables
  • Read data from binary or ASCII files by formats or space/tab/comma separated columns
  • Output data to binary or ASCII files by formats or in columns
  • Dynamic allocation of arrays
  • Digitize data from a displayed plot

Extrema's Built-In Language

  • Scripting capability with up to 20 nesting levels and with parameter passing
  • Script library of `super' commands
  • Nested looping, branching and conditional statements in scripts
  • Display messages, prompt for user input from within a script
  • Return to interactive mode from within a script, and later resume script execution
  • Create a script interactively

General Graphics Utilities

  • Unlimited text capabilities for titles, labels, and annotations
  • Multiple windows within the graphing area
  • Any number of charts of any mixed type on a single picture
  • High quality graphics display
  • Interactive entry of lines, arcs, geometric figures, and text

Other Features

  • Comprehensive on-line documentation: instant help for any command, or interactive browsing through help library
  • Keyword searching
  • Save/Restore an entire Extrema session, including graphics
  • Keep a journal file of all command input and message output
  • Dynamic input line recall buffers allow recall/edit of commands using the arrow keys