Tel: +44(0)1865 300 579
Fax: +44(0)1865 300 232

Programs for Programmers

Mathematica

 

 

 

 

 

 

 

 New! 

Mathematica Player Pro is the professional platform for running interactive Mathematica applications and documents. Used either as a personal tool or as a high-level engine built in by application developers, Player Pro provides the power of Mathematica for a fraction of the cost.

Player Pro as an application delivery system
Player Pro is a single runtime yet it supports the functionality of Mathematica, giving users easy and cost-effective access to your Mathematica applications. And you can choose whether you want to bundle Player Pro to make a stand-alone application or deliver tools to an existing Player Pro user.

Player Pro as a personal tool
Interact with reports, applets, and documents from your colleagues without investing in Mathematica. If it's dynamic in Mathematica, it's dynamic in Player Pro.

 

Compare Player/Player Pro and Mathematica (link to Wolfram's site)


 Wolfram Mathematica 6
 
 

Wolfram Mathematica 6

The most important advance in the 20-year history of Mathematica

 

 Building on two decades of world-class algorithm and software development, Mathematica 6 represents a dramatic breakthrough that immensely broadens Mathematica's scope and applicability—and redefines the very way we think about computation. Made possible by Mathematica's unique symbolic architecture, Mathematica 6 introduces a sweeping unification of language and interface concepts that makes possible a new level of automation in algorithmic computation, interactive manipulation and dynamic presentation—as well as a whole new way of interacting with the world of data.

Dynamic Interactivity

Introducing the instant interface a new kind of interactive computing made possible by Mathematica
Mathematica 6 brings a revolution in the concept of interactive computing—for the first time allowing dynamic interfaces to be created instantly as a routine part of everyday work. Based on a series of inventions at Wolfram Research, Mathematica 6 builds on Mathematica's powerful core symbolic architecture to allow sophisticated interactive interfaces to be created from single lines of input—as easily as getting answers to simple calculations.

 

  • Manipulate function for creating full-function dynamic interfaces for arbitrary objects.
  • Uniform support for manipulating 2D and 3D graphics, math, tables, text, etc. < buttons, checkboxes, menus, sliders, 2D and 1D active of creation>
  • Full integration of controls with graphics objects.
  • Real-time computation based on parameter values defined by interactive controls.
  • Full integration of all interfaces into scrollable Mathematica < interface human other gamepads for support>
  • Fully scalable underlying symbolic dynamic Mathematica language system.
  • Threaded support for dynamic dependency tracking and updating.

 

Example Dynamic Interfaces

High-Impact Adaptive Visualization

automated creation of high-fidelity
function and data graphics

Language for Data Integration

automatic integration of hundreds of
standard data formats

Load-on-Demand Curated Data

math, physics, chemistry, finance,
geography, linguistics, .
..

 

Symbolic Interface Construction

immediate creation of arbitrary interfaces
from simple programs

Automated Computational Aesthetics

innovative algorithmic optimization
of visual presentation

Unification of Graphics, Text & Controls

ultimate integration of active graphics and
controls into flowing text and input

 

Integrated Geometric Computing

Fully Automated Graph Layout

Combinatorial Optimization

Constrained Nonlinear Optimization

New Generation Numerical Integration

New Classes of Special Functions

Extended Number Theory Support

Equational Theorem Proving

Exploratory Data Analysis

Symbolic Statistical Computing

High-Level String Computation

Extended Array Operations

Symbolic Sound Support

 

Dynamic Graphical Input

Integrated Graphics Editing & Drawing

Extended Graphics Language

Real-Time 3D Graphics

Built-in Gamepad & HID Support

3D Printing & Scanning Support

Instant Multimedia Programming

Streamlined Presentation Framework

Automated Table Layout

Symbolic Report Generation

Real-Time Code Annotation

Instant High-Level Debugging

New Documentation Framework

 

Introducing over 1000 new computational functions & interface enhancements

Core Language

Mathematics and Algorithms

Visualization and Graphics

Dynamic Interactivity

Data Handling & Data Sources

Systems Interfaces & Deployment

Notebooks and Documents

Complete Mathematica Documentation

Continuing a 20-year history of unified design & language compatibility

Mathematica 6 radically extends every aspect of Mathematica's functionality

Summary of New Features

List of All New Functions (link to Wolfram site)

 

Mathematica from Wolfram Research

Mathematica Uses Mathematica Key Elements Mathematica Platform Availability
Mathematica Premier Support
Mathematica Revision History Mathematica Network Licensing

Mathematica seamlessly integrates a numeric and symbolic computational engine, graphics system, programming language, documentation system, and advanced connectivity to other applications. It is this range of capabilities--many world-leading in their own right--that makes Mathematica uniquely capable as a "one-stop shop" for you or your organization's technical work.

Mathematica has a Wide Range of Uses

  • Handling complex symbolic calculations that often involve hundreds of thousands or millions of terms
  • Loading, analyzing, and visualizing data
  • Solving equations, differential equations, and minimization problems numerically or symbolically
  • Doing numerical modeling and simulations, ranging from simple control systems to galaxy collisions, financial derivatives, complex biological systems, chemical reactions, environmental impact studies, and magnetic fields in particle accelerators
  • Facilitating rapid application development (RAD) for engineering companies and financial institutions
  • Producing professional-quality, interactive technical reports or papers for electronic or print distribution n
  • Illustrating mathematical or scientific concepts for students from K-12 to postgraduate levels
  • Typesetting technical information--for example, for U.S. patents
  • Giving technical presentations and seminars

Key Elements

Notebook Document System

Mathematica notebooks provide a complete technical document system with typeset math, sound, graphics, and animations.

Whether you are creating a report, an academic paper, courseware, or an electronic book or just want to keep a record of your work, Mathematica notebooks are the ideal medium for all of your technical projects. They are the main interface to all Mathematica computations and let you combine all of your calculations, code, results, and graphics into one interactive technical document.

Notebooks are platform independent and combine interactive typeset mathematical expressions, formatted text, hyperlinks, graphics, animations, sound, and fully customizable buttons and palettes. Mathematica's user interface includes such word-processing capabilities as spell checking (with a large technical vocabulary) and automatic hyphenation.

Mathematica’s integrated notebooks allow you to keep your analysis, graphics, report, and presentation together in one unified document.

You can send notebooks by email or put them on a website or an FTP site without affecting their quality, use them to create high-quality printouts or sophisticated on-screen presentations, or translate them to other document formats such as HTML, TeX, and MathML, part of the new XML standard.

Complex Analysis

Mathematica comes with a wide range of high-level statistics and data analysis functions as well as powerful import, export, and connectivity functionality, making even complex analysis of large data sets quick and easy. Mathematica's record-breaking speed for numerical linear algebra also makes processing large data sets faster than ever.

Mathematicamatica includes import and export filters for over 70 popular file formats, including XML. Mathematica can also connect to databases with JDBC or .NET mechanisms through J/Link and .NET/Link. Mathematica's connection tools also allow you to easily build and access online data feeds, other data acquisition software such as LabView, and web services.

Once you have read your data files into Mathematica, you can apply sophisticated analysis or visualization techniques or use Mathematica's computational power to build complex models. Mathematica comes with fast tools for data manipulation, descriptive statistics of uni- and multivariate data, generalized linear and nonlinear fitting, multidimensional interpolation, convolution, correlation, regression, ANOVA, hypothesis testing, and visualization and statistical plotting tools.

Volumes of Knowledge

Put the world's largest collection of mathematical knowledge at your fingertips.

Mathematica takes the most extensive collection of computation and visualization tools you'll find anywhere and puts them right on your desktop. Mathematica contains and surpasses the knowledge of thousands of mathematical tables, hundreds of reference books, and dozens of software systems. Yet Mathematica is faster to use, more accurate, and better integrated than any of them. All of the components you need to pursue a solution are built into Mathematica, from the basic functions like Sin, Log, and Eigenvalues to powerful superfunctions such as Solve, Integrate, and Simplify.

Plotting Functions and Visualization
Mathematica provides many flexible plotting options for visualizing your results: Plot, Plot3D, ContourPlot, DensityPlot, ArrayPlot, ParametricPlot, MoviePlot, MoviePlot3D, LogPlot, LogLogPlot, PolarPlot, ImplicitPlot, ListPlot, ScatterPlot3D, and many other variations. Yet these plotting routines represent only a subset of Mathematica's extensive graphics and visualization capabilities.

Automatic Numeric-Precision Control
Mathematica keeps track of the precision of its numerical results automatically throughout each calculation and adjusts its internal algorithms as needed to provide the precision you require.

Typesetting

Fully typeset input and output are interactive.

In addition to working with pure-text input and output, Mathematica works with typeset expressions. Both text and mathematical expressions can be formatted in any typeface, size, or style. Mathematical expressions are also "live," and you can use them as input or can make instant modifications. This feature allows you to work with mathematical expressions that are familiar from textbooks and to input formulas and parse results far more quickly than you can in any other program.

Symbolic and Numeric Computations

Perform symbolic as well as numeric computations.

Every function in Mathematica is implemented as completely as possible, handling the widest range of numeric and symbolic inputs. Mathematica knows how to evaluate functions to any precision anywhere in the complex plane. Along with supporting numerical inputs, Mathematica supports the world's largest collection of symbolic transformation rules, allowing sophisticated manipulation and reduction of formulas.

Pass the function Sin an exact input such as , and the result comes back exactly as . Pass it the numerical approximation 0.261799, and it returns the numerical result 0.258819. Try a complex value, and you get a complex result. Since all of these cases are handled simply by calling the function Sin, you won't need to memorize a different function name for each kind of argument.

Graphics

Choose from over 50 styles of graphics, or create your own.

Mathematica provides over 50 built-in graphics types for visualizing your results, including a variety of 2D and 3D plots, contour and density graphics, and a full complement of specialized business and statistical plots. Mathematica also lets you generate animations and sounds with simple commands.

However, these plotting routines represent only a subset of Mathematica's extensive graphics and visualization capabilities. Mathematica also comes with a graphics language that lets you customize graphics to your exact specifications or even create your own graphic types from a large set of built-in primitives.

Mathematica Graphics

 

Application Development

Develop applications with Mathematica.

In many cases you want not only to publish your results but also to make your Mathematica applications available to others--coworkers in your organization, customers, or colleagues around the world.

Mathematica's combination of computational sophistication and programmability makes it ideal for prototyping and developing complete applications. Because it provides a high-level environment, you can concentrate on what's unique to your work instead of spend time coding generic, low-level functionality. Once your application is finished, Mathematica offers numerous ways to rapidly deploy it in the way that is most efficient for your purpose.

Mathematica Notebooks and Packages
The most direct way of allowing others to use your Mathematica programs is to send your notebooks or packages to them. All Mathematica documents and programs are fully platform independent, so you do not have to worry about portability issues or incompatibilities. You can even add a point-and-click user interface, using either Mathematica buttons and palettes or Java, so that end users never have to work with the command line.

Interactive Web and Intranet Sites
With very little effort almost any Mathematica program can be turned into an MSP, an interactive web application running on a webMathematica server. In many cases, the process requires only a few steps--for example, saving the notebook as HTML, extracting the code, and then adding a few simple Mathlet tags. The resulting web application can be used from any web browser and through an interface; no Mathematica knowledge is required. You can also easily create more-advanced user interfaces using any number of standard web-development tools and languages such as JavaScript, JSP, or PHP.

Mathematica as a Software Component
With Mathematica's J/Link and MathLink API, you can also deploy your Mathematica application as part of a Java, .NET, or C/C++ program right out of the box. Additional products from Wolfram Research and independent developers provide prebuilt links to Visual Basic, scripting languages, and Microsoft Excel, which enable the products to interface with Mathematica and a variety of application packages.

Programmable Palettes

Programmable palettes let you have instant access to sophisticated functionality.

Mathematica comes with a collection of ready-to-use palettes that give you instant access to many of the built-in functions with one click. Because Mathematica is so flexible, you can also easily create your own palettes in seconds.

Put the functions and symbols you use most often on a single palette, or make notebooks interactive by including custom buttons in them. You can even add the palettes you use most often to a menu for quick access or can send them via email to your colleagues.

Since you can run any Mathematica function or program from a button, you can build complete interfaces to your Mathematica packages or courseware--making Mathematica an even more productive environment in which to work.

Special-Purpose Interfaces

Create special-purpose interfaces using Java, .NET, or C/C++.

Mathematica allows you to create complete document-centric and graphical user interfaces. You can build buttons and palettes, input forms and dialogs, and even fully interactive documents using nothing but built-in Mathematica functions. Moreover, your programs can generate any of these interface elements on the fly.

Automatically generate reports with completely cross-referenced hyperlinks. Create a survey that adapts itself to the answers given by the user. Make self-modifying palettes. The possibilities are endless, and the programs and interfaces created are platform independent.

There are many additional ways to generate custom user and programmatic interfaces for Mathematica. For example, Mathematica now comes with J/Link and a Java Runtime Environment preinstalled, allowing you to use AWT or Swing components to create a Java-based graphical user interface to Mathematica that will run seamlessly on all platforms for which Mathematica and Java are available.

The Windows version of Mathematica also includes .NET/Link for full integration with the Microsoft .NET Framework. With .NET/Link, Mathematica users can load any .NET object into Mathematica and extend it. .NET/Link also provides an easy way to call any DLL or COM object from within Mathematica.

Programming Language

Program in the uniquely productive Mathematica language.

Whether you call them simulations, models, or algorithms, representing your concepts in Mathematica is easy. There's hardly a distinction between interactive and programmed calculations in Mathematica. You can build intricate calculations piece by piece. Specify a definition for an expression. Look up a formula and add it as a Mathematica transformation rule. Add more rules for other cases or for related formulas. The intuitive nature of Mathematica lets you build surprisingly sophisticated calculations easily and incrementally.

Mathematica includes a modern, wide-ranging, and highly versatile language that doesn't force you into a single style of programming. Just as a spoken language gives you many ways to express each idea, Mathematica provides many different programming paradigms.

Your code reflects your style of specifying the problem, which can make the command much shorter and easier to read. This unique flexibility makes switching to Mathematica from other programming languages easy--and cost effective. Even those who haven't programmed before can write powerful programs without extensive training.

Concentrate on your ideas.

Mathematica takes care of the programming infrastructure. There is no need to predeclare variable types or dimensions of lists and arrays, to direct memory management, or to compile your programs.

Common procedures such as sorting, searching, handling files, and manipulating data are built in and remove peripheral code from your routines. This feature helps to make typical Mathematica programs only 5 to 10 percent the size of those created in traditional languages or numerical systems and greatly shrinks development time.

Choose your programming style.

Mathematica handles problems of any scale and complexity equally well; it's more than a simple scripting language. One key feature is dynamic arrays of arbitrary size and dimension; optional compilation is another. By providing multiple paradigms and the world's most powerful pattern-matching engine, Mathematica lets you choose the most effective programming style for your problem. You don't have to work around the limitations of a restrictive language.

With such a variety of programming approaches, it's easy to see why Mathematica has become the language of choice for technical professionals around the world. Add it all together: Mathematica makes you many times more productive.

Interactive Help Browser

All documentation is available through the interactive Help Browser.

The Mathematica Help Browser includes the complete documentation for all functions in Mathematica and the entire text of The Mathematica Book as fully indexed Mathematica notebooks with advanced search capabilities and comprehensive hyperlinks.

The Help Browser also contains thousands of interactive examples that demonstrate the use of Mathematica functions, its general capabilities, and the best way to take advantage of them.

Unlike any other software, Mathematica enables users to modify and evaluate expressions directly within the Help Browser. The online material for the majority of built-in functions includes several examples to be evaluated or altered, providing a particularly helpful aid for those who learn best by example. User modifications of material within the Help Browser are not permanent, however. If you accidentally delete an example or section of help text, you need only to exit and reenter that page to restore the original information.

However, the material presented in the Help Browser is not fixed permanently to include only what is provided with the Mathematica installation. Help Browser information is stored as a Mathematica notebook. Thus, you can create help notebooks that become fully integrated with other Help Browser information, including the insertion of new entries into the Help Browser's master index.

 

Revision History

Summary of New Features in 6.0
Mathematica 6.0 fundamentally redefines Mathematica and introduces a major new paradigm for computation. Building on Mathematica's time-tested core symbolic architecture, Version 6.0 adds nearly a thousand new functions—almost doubling the total number of functions in the system—dramatically increasing both the breadth and depth of Mathematica's capabilities, as well as introducing hundreds of major original algorithms, and perhaps a thousand new ideas, large and small.

Core Language

List & Expression Manipulation
  • New general ;; (Span) notation for sequences of parts, blocks, etc.
  • Band construct to specify arbitrarily banded multidimensional arrays.
  • ReplacePart extended to general index rules, with patterns.
  • ArrayFlatten for generalized block array flattening.
  • Flatten extended to handle flattening disjoint levels.
  • Join generalized to join arrays at any level.
  • Reverse generalized to reverse at any level.
  • PadLeft, PadRight generalized to automatically form full arrays.
  • SortBy for sorting by values of a function applied to list elements.
  • New Tally function to tally identical elements and multiplicities.
  • BinCounts, BinLists to count and list elements that lie in value bins.
  • Accumulate, Differences for successive sums and differences in lists.
  • Commonest to find most frequent elements in lists.
  • Riffle to interleave elements in lists.
  • RandomChoice, RandomSample for random subsets of lists.
  • Much faster ListConvolve, ListCorrelate for integer lists.
  • Optimizations in Outer, Tuples and Transpose.
Language Constructs
  • Longest, Shortest for enhanced pattern-matching control.
  • Support for matching general pattern subsequences.
  • Repeated (..) generalized to constrain the number of repeats.
  • General iterator support for iteration over lists in Table, Do, etc.
  • LengthWhile, TakeWhile for list-oriented functional programming.
  • Quiet for convenient message control.
Programming & Development
  • Full-featured source-level debugger, including breakpoints, watchpoints and stepping.
  • Monitor for real-time symbolic monitoring of running programs.
  • PrintTemporary for temporary printing during a computation.
  • New symbolic options management system for functions.
  • User-defined syntax coloring for any function.
  • Direct support for enhanced editing of .m package files.
  • Access to over a hundred system-level customizations.
  • Input, InputString restyled based on symbolic interface elements.
  • Symbol name discovery extended to regular expressions.
String-Related Functions
  • Efficient nearest-neighbor finding for strings.
  • Built-in dictionary lookup for words.
  • Edit and other distance measures for strings.
  • Built-in hash code function with multiple schemes.
  • Built-in support for string patterns representing dates.
  • StringTake generalized to allow multiple substrings.
  • Faster ToCharacterCode, FromCharacterCode for long strings.
  • Other Functions
  • IntegerString for base and Roman numeral number forms.
  • FromDigits extended to handle strings and Roman numerals.
  • TreeForm enhanced to use graphical output.
  • Extensive new date manipulation functions.
Dynamic Interactivity
Interactive Manipulation
  • Manipulate as a universal dynamic interface for arbitrary objects.
  • Immediate connection of variables to 20+ control types.
  • Support for arbitrary numbers of variables connected to controls.
  • Support for general control layout, labeling, alignment, etc.
  • Support for in-image arbitrary locator controls.
  • Automatic mapping to gamepads and other HID controls.
  • Autorun and bookmarking capabilities.
  • Support for automatic encapsulation of imported functions.
  • Export to Flash and other web formats.
Viewers & Annotations
  • TabView, SlideView, MenuView, FlipView, PopupView, OpenerView viewers.
  • Support for arbitrary content and labeling in all viewers, with dynamic sizing.
  • Tooltip, Mouseover, PopupMenu, PopupWindow with arbitrary textual or graphical content.
  • Support for attaching tooltips etc. to arbitrary expressions, graphics elements, etc.
  • MouseAnnotation for associating expressions with arbitrary annotation elements.
  • Panel and Pane for arbitrary wrapping of text and other content.
  • Animate, ListAnimate for self-paced running animation.
  • StatusArea, ProgressIndicator, Monitor for monitoring computations.
Symbolic Controls
  • Seamless integration of active controls with graphics, layout and typesetting.
  • Support for Slider and VerticalSlider with continuous, discrete, or symbolic range.
  • Modifier-key-based support for multiple-level fine slider control.
  • Support for general 2D slider controls.
  • PopupMenu allowing arbitrary expressions or graphics.
  • Checkbox, RadioButton, Toggler, Opener state controls.
  • ColorSlider, ColorSetter for interactive color choosing.
  • Setter control for setting arbitrary values.
  • SetterBar, RadioButtonBar, CheckboxBar and other composite controls.
  • Trigger control for events that continuously change when triggered.
  • General InputField control, allowing string, expression, etc. input.
  • General Locator object, with automatic replication capability.
  • LocatorPane providing immediate movable locators in graphics, etc.
  • Animator, Manipulator animation and manipulation controls.
  • Symbolic Button object allowing arbitrary appearance and arbitrary action.
  • ActionMenu allowing arbitrary function execution.
  • ClickPane providing image-map coordinates.
  • PaneSelector to display one of several objects based on a dynamic value.
  • Appearance option for system and generic appearances of controls.
  • Support for specification of control sizes and other properties.
  • AutoAction and ContinuousAction for tuning operations of controls.
  • Support for platform-neutral rendering of all controls, including printing.
  • Time-based Clock, Refresh controls
  • Delimiter for visual separation in controls layout.
Dynamic Interactivity Language
  • General Dynamic construct for representing continually updated dynamic expressions.
  • Support for arbitrary tracking and action functions in Dynamic.
  • DynamicModule scoping construct for interface-localized values and variables.
  • Dynamic access to interface properties
  • Convenient access to mouse position information.
  • ControlActive to allow preview modes when controls are active.
  • Mechanism to synchronize initialization and updating of dynamic variables.
Interface Construction System
  • Fully serializable interface, completely described in the Mathematica symbolic language.
  • Seamless integration of active controls with scrolling documents, graphics, etc.
  • Instant universal interface using Manipulate.
  • Support for multiple interface paradigms, including dialog boxes, toolbars, click panes, etc.
  • Arbitrary programmable and dynamic control arrangement.
  • Convenient immediate support of gamepads and other HID devices
  • Arbitrary interface building within scrollable notebook documents.
  • DockedCells to create a custom toolbar inside a notebook.
  • PasteButton, Hyperlink for most common types of buttons.
  • CreateDialog, DialogNotebook to construct a dialog with arbitrary controls.
  • CreatePalette, PaletteNotebook to create and manipulate custom palettes.
  • Many standard and customizable types of dialogs.
  • FileNameSetter, ColorSetter controls to bring up system dialogs.
  • Programmatic interface to system dialogs for files, colors, sound recording, etc.
  • Symbolic EventHandler supporting 30+ types of low-level events.
  • NotebookEventActions etc. to specify low-level event handlers.
  • Deploy to create noneditable interfaces.
  • Interpretation for creation of evaluatable template-based interfaces.
  • Setting, DynamicSetting to obtain values of dynamic controls.
Mathematics and Algorithms
Mathematical Functions
  • Round, Floor, Ceiling generalized to allow "round to nearest n", etc.
  • Spherical Bessel, Hankel and Kelvin functions added.
  • Whittaker and parabolic cylinder functions added.
  • Full coverage of spheroidal functions added.
  • Bessel and Airy zeros functions added.
  • Riemann zeta function zeros function added.
  • Sinc and HeavisideTheta functions added.
  • Unitize convenience function added.
  • Zernike polynomials added.
  • Siegel theta function added.
  • PolyGamma generalized to arbitrary complex order.
  • Thousands of new rules added for generalized hypergeometric functions.
Integer Functions
  • Greatly enhanced arbitrary-length integer arithmetic on 64-bit systems.
  • Subfactorial, CatalanNumber and LucasL added.
  • Bell and Nörlund (generalized Bernoulli) polynomials added.
  • Divisible, CoprimeQ and QuotientRemainder added.
  • ChineseRemainder function added.
  • KroneckerSymbol added.
  • PrimitiveRoot added.
  • PowerModList added.
  • NextPrime and RandomPrime.
  • PrimePowerQ and SquareFreeQ tests for integers.
  • FactorInteger extended to allow partial factorization.
  • IntegerLength to find number of digits in a number.
  • Bitwise functions for arbitrary-length integers added.
  • HermiteDecomposition for Hermite normal forms of integer matrices.
Number Theory
  • 21 functions for algebraic number theory and algebraic number fields added.
  • RootApproximant added to find algebraic number approximants.
  • Convergents to find successive continued fraction convergents.
  • Ramanujan tau functions added.
  • General support added for integer partitions.
  • Functions for representations of numbers as sums of powers.
  • Functions for solving and testing Frobenius equations.
  • Faster Prime and primes-related functions.
  • RootIntervals, IsolatingInterval for root isolation.
Symbolic Computation
  • FullSimplify extended to allow automated theorem-proving with symbolic operators.
  • Improved original algorithm for solving large polynomial systems over the reals.
  • DSolve extended to symbolic solution of first-order initial value PDEs.
  • Traveling wave solutions for nonlinear PDEs.
  • RSolve extended to solve linear fractional systems of difference equations.
  • Solution of multistep linear difference equations of arbitrary order.
  • SeriesCoefficient extended to multivariate series and arbitrary expansion points.
  • Expand, Factor, Cancel etc. automatically thread over equations etc.
  • PossibleZeroQ fast, heuristic test for zeros added.
  • Support for generation of symmetric polynomials, and symmetric reduction.
  • Polynomial discriminant function added.
  • PolynomialQuotientRemainder and PolynomialExtendedGCD added.
  • Square-free polynomial testing and decomposition.
  • GenericCylindricalDecomposition, etc. for extended handling of solution sets.
  • Exact root counting and isolating intervals for polynomials.
  • Support for general Padé approximants.
  • Symbolic normalization and orthogonalization of families of functions.
  • Faster cylindrical algebraic decomposition methods.
  • Faster lexicographic and toric Gröbner bases.
  • HornerForm polynomial representation.
General Numerics
  • Support for constrained nonlinear local optimization.
  • Support for integer linear programming.
  • Major new algorithms for NIntegrate, with efficient high-dimensional integration.
  • Dense output continuous to the order used in NDSolve.
  • FourierDCT, FourierDST discrete transforms added.
  • New fast high-quality algorithms for random number generation.
  • RandomInteger, RandomReal, etc. generate arbitrary random arrays.
  • RandomChoice and RandomSample for weighted discrete random selection.
  • RealExponent added.
  • Exclusions to specify regions to exclude in integration, etc.
  • ExampleData with immediate access to matrix, optimization, etc. test problems.
Matrices & Linear Algebra
  • Automatic use of multiple processors for core numerical linear algebra.
  • Symbolic specification for general banded matrices.
  • Tests for Hermitian and positive definite matrices.
  • MatrixRank extended to work with sparse arrays.
  • Diagonal to extract diagonal elements in a matrix.
  • SingularValueDecomposition extended for exact computation.
  • Support for solving general linear least squares problems in matrix form.
  • MatrixExp, MatrixPower extended for efficient application to vectors.
  • Normalization, orthogonalization and projection of vectors.
  • VectorAngle, UnitVector, ConstantArray added.
  • Support for Hilbert, Hankel and Toeplitz matrices.
  • KroneckerProduct added.
  • RotationMatrix and 8+ other geometric matrix transforms added.
  • MatrixPlot for visual representation of matrices.
Statistics & Data Analysis
  • Full symbolic & numeric computation of 20+ properties of 36 named statistical distributions.
  • 14 new descriptive statistics functions added.
  • PDF, CDF, ExpectedValue functions for statistical distributions.
  • Nearest for finding nearest neighbors in multidimensional data.
  • FindClusters for general cluster analysis in numeric, Boolean, string data.
  • 18 distance and dissimilarity measures added.
  • Built-in MovingAverage and other data-smoothing functions.
  • Extended support for multidimensional and vector-valued interpolation.
  • Support for unstructured data in InterpolatingPolynomial.
  • Discrete Mathematics & Computational Systems
  • Fully automated graph layout in 2D and 3D.
  • Layered graph and tree layout.
  • GraphData with 100+ properties of hundreds of named graphs.
  • FindShortestTour for traveling salesman problem.
  • PolyhedronData with 75+ properties of 145 named polyhedra.
  • LatticeData with properties of named lattices in d dimensions.
  • KnotData with 60+ properties of 250+ knots.
  • Permutations generalized to allow selecting any number of elements.
  • Support for symbolic rules, functional usage, and higher-order evolution in CellularAutomaton.
  • TuringMachine for general Turing machine evolution.
Visualization and Graphics
Graphics Infrastructure
  • Full integration of graphics, typesetting and active controls.
  • Compelling graphics produced using computational aesthetics methodology.
  • Real-time 3D graphics rotation and zooming.
  • Support for graphical notation in input.
  • Arbitrary insetting of graphics, text, formulas etc. within another graphic.
  • Full interactive drawing of 2D graphics, including text and formulas.
  • Fully editable 2D graphics using Graphics Inspector.
  • Extensive support for hardware acceleration of 3D graphics rendering on all platforms.
  • Seamless support for scrollable OpenGL and Direct3D graphics.
  • Full support for modern GDI+, Quartz and Qt graphics layers.
  • Antialiased graphics on all platforms.
  • New antialiased fonts for Linux.
  • Automatic graphics compression in notebook files.
  • PerformanceGoal for general control of graphics quality or speed in animations.
  • Built-in large collection of color schemes for use in graphics, with color palette.
  • Transparency support in graphics and visualization.
  • Support for import and export of large number of graphics formats.
Graphics Language and Primitives
  • Extended and optimized graphics primitives.
  • Graphics, Graphics3D are fully integrated into input and output.
  • GraphicsComplex primitive supporting connected lines, polygonal surfaces etc.
  • New Arrow primitive with fully-configurable arrows.
  • New Sphere, Cylinder primitives.
  • Circle, Disk now support scaled sizes.
  • Point, Line, Polygon enhanced to support multiple lines, points etc.
  • Polygon supports smooth color gradients and shading.
  • New GraphicsGrid, GraphicsColumn, GraphicsRow for automatic layout of graphics.
  • GraphicsGroup for selection grouping of graphics objects.
Geometric Transformations
  • Full support for geometric transformations of graphics objects and primitives.
  • RotationMatrix, ShearingMatrix,... for transformations in arbitrary dimensions.
  • RotationTransform, AffineTransform,... symbolic geometric transformations.
Graphics Options and Directives
  • Directive for compound graphics directive.
  • Support for preset symbolic size specifications (e.g. Tiny).
  • Thick, Thin, Dashed, Dotted etc. for line styles in graphics.
  • ColorData with extensive library of color schemes.
  • Blend for arbitrary color interpolation.
  • Lighter, Darker for color adjustment.
  • New Glow, Specularity graphics directives for surface properties.
  • Fully updated support for 3D lighting model, including point and spot light sources.
  • Support for FaceForm and EdgeForm in 2D graphics.
  • Detailed control of image size, margins and padding.
  • ViewAngle, ViewVector, ViewRange etc. for graphics scene setup.
  • Smooth shading for 2D and 3D polygon meshes and surfaces.
  • LabelStyle, TicksStyle, GridLinesStyle,... styling options.
  • AlignmentPoint etc. for graphics alignment in flowing text.
Visualization Options and Directives
  • Arbitrary Filling support in 2D and 3D.
  • Automatic contour labels.
  • Support for built-in color functions, specularity etc. in all visualization functions.
  • Full adaptive sampling with MaxRecursion for all function visualization.
  • ClippingStyle, ContourStyle, FillingStyle,... styling options.
  • VertexColors, VertexNormals for smooth interpolation of surface color and lighting.
Graphics Annotation
  • Annotation for arbitrary object annotation.
  • Tooltip to display an arbitrary tooltip for any object.
  • Mouseover, MouseAnnotation for mouse-sensitive annotation.
  • StatusArea for annotation in the window status area.
  • PopupWindow to display a separate window.
Visualization Framework
  • Plotting over regions specified by arbitrary constraints.
  • Exclusions mechanism to exclude discontinuities, etc.
  • Fully general mesh overlay capability for all regions and surfaces.
  • Adaptive sampling in all 2D and 3D function visualization functions.
  • Unstructured data in all 2D and 3D data visualization functions.
  • Support for symbolic or missing data in 2D and 3D visualization functions.
  • Efficient support for plotting large-scale sparse arrays.
  • Enhanced support for InterpolationOrder, including multidimensional data.
  • Support for stepped 2D plots and Voronoi-based 3D plots.
2D Visualization
  • Enhanced Plot with support for filling, adaptive sampling, exclusions, mesh overlays etc.
  • New ParametricPlot with support for 2D parametric region, adaptivity, meshes, etc.
  • ListPlot, ListLinePlot with support for multiple datasets, data markers and fill styles.
  • DateListPlot for general plotting of time- and date-based data.
  • New ListLogPlot, ListLogLogPlot, ListLogLinearPlot functions.
  • New LogPlot, LogLinearPlot, LogLogPlot functions.
  • New PolarPlot, ListPolarPlot functions.
  • PlotMarkers option for indication of data points in multiple datasets.
  • Joined option for joining styles of multiple datasets.
  • RegionPlot for visualizing regions described by combinations of inequalities.
  • ListDensityPlot, ListContourPlot support unstructured data, downsampling, smooth colors, region constraints and mesh overlays.
  • DensityPlot, ContourPlot with adaptivity, smooth colors, region constraints.
  • Convenient support for equation-based contours in ContourPlot.
  • New ReliefPlot for cartographic and height-based data.
  • Enhanced ArrayPlot with more detailed data-range capabilities.
  • Fully integrated GraphPlot, LayeredGraphPlot and TreePlot.
  • Support for sparse arrays and color-based data in Raster.
  • Rasterize to create a raster image from an arbitrary expression.
3D Visualization
  • ListPlot3D supports unstructured data, downsampling, region constraints and mesh overlays.
  • Plot3D, ParametricPlot3D with full adaptive plotting, region constraints and mesh overlays.
  • ContourPlot3D, ListContourPlot3D for 3D contour plotting.
  • RegionPlot3D for visualizing 3D regions described by combinations of inequalities.
  • ListSurfacePlot3D for 3D surface reconstruction from multivalued data.
  • ListPointPlot3D for 3D scatter plots.
  • Fully integrated RevolutionPlot3D and SphericalPlot3D.
  • New NormalsFunction option to specify effective normal vectors on a surface.
  • New GraphPlot3D for general graph layout in 3D.
Dynamic Visualization
  • Manipulate as an instant universal interface for dynamic visualization.
  • Animate, ListAnimate for function- and frame-based animation.
  • LocatorPane, ClickPane, etc. for mouse interaction with graphics.
  • Support for gamepads and other devices.
Sound
  • Note-based symbolic sound, with full MIDI-like support.
  • Support for arbitrary sound time-warping.
  • Support for a wide range of note-based instruments and percussion.
  • Support for combined output of note-based and sampled sound.
  • Spectrogram representation of sounds in output.
  • Built-in programmatic support for sound recording dialog.
  • Beep added.
  • Support for import and export of all standard audio formats.
Data Handling & Data Sources
Large Collections of Curated Data
  • GraphData, KnotData, PolyhedronData etc. collections of mathematical objects.
  • CityData, CountryData for geographical, demographic, economic etc. information.
  • FinancialData for current and historical securities data.
  • ParticleData, AstronomicalData collections.
  • ElementData, IsotopeData, ChemicalData collections of chemical and nuclear data.
  • Built-in extensive computable dictionary.
  • WordData with word properties and relations between words.
  • ExampleData collection of standard tests, 3D models, image and audio clips etc.
  • Missing for symbolic representation of unavailable data.
Import & Export
  • Greatly enhanced Import and Export.
  • New "elements" framework allows handling of individual aspects of data files.
  • Greatly extended collection of supported formats.
  • Lines, Words, UnicodeText are incorporated as elements in universal text converter.
  • Efficient handling of table import.
  • 15+ new formats for 3d geometry models (PLY, OFF, JVX, Maya, DXF, STL)
  • New image formats (PXR, TGA, SCT, JPEG200, EMF).
  • Support for EXIF metadata in JPEG and GIF.
  • New and enhanced handling of scientific and medical data formats
  • Support for chemical, biological and medical data formats (FASTA, EDF, PDB, MOL, XYZ)
  • Support for geospatial formats (USGSDEM, GTOPO30, CDED)
  • Enhanced support for SDTS format.
  • Archive and compression formats (ZIP, GZIP, TAR, BZIP2, UUE, Base64) added.
  • Import and export of directories of files.
  • Database and spreadsheet formats (MDB, ODS, SXC, DBF, DIF) supported.
  • Support for multimedia formats (SWF, QuickTime).
  • Audio formats (FLAC, MIDI, Wave64,) added.
  • Support for all common codecs for WAV, AU, AIFF, AVI,
  • Support for mathematical data formats (XPORT, MTP, MAT, Graph6, Sparse6).
  • Import and export of web and document formats (HTML, XHTML, PDF, RTF,).
  • Extraction of tabular data from document formats
  • System and utility formats (Apache log files, MBOX, ACO, ICO, CUR, WDX)
 

Data Handling and Analysis

  • FindClusters, Nearest, ... for data classification.
  • BinCounts, Tally, Quantile, SortBy, ... for data mining.
  • FileFormat, StringFormat to infer formats of files and strings.
  • FileHash to calculate file hash values.
  • Compress, Uncompress for compressed ASCII-encoded representation of any object.
  • AutorunSequencing for automatic activation of dynamic controls in Export.
  • Rasterize for conversion to bitmap rasters.
Notebooks and Documents
General Interface Features
  • Seamless integration of graphics, active controls and mathematical typesetting.
  • New Preferences dialog covering a wide range of options.
  • Menus rearranged for simplicity of use.
  • Integrated searching in help windows.
  • Support for multiple simultaneous help windows.
  • Restyled slide show creator.
  • Built-in template for The Wolfram Demonstrations Project.
  • Nearly 700 new detailed interface options and suboptions.
  • OutputSizeLimit to prevent unexpectedly large output.
  • 200+ new symbolic notational operators
Notebook Structure & Appearance
  • General reverse-closed cells allowing code hiding.
  • Support for arbitrary docked cells for notebook toolbars.
  • Support for manually definable cell groupings.
  • Support for notebook-unique and cell-unique namespaces.
  • Adaptive horizontal scrollbar.
  • Support for full-screen presentation mode.
  • Support for transparent windows.
  • Programmatic access to window status area.
Input & Output
  • Comprehensive real-time semantically driven syntax coloring.
  • Immediate visual feedback on function names and spelling.
  • Visual indication of function argument structures.
  • Automatic italicization of function variables.
  • Automatic variable scope indication.
  • User-definable syntax coloring.
  • Automatic blocking of digits in long input numbers.
  • Automatic × insertion for implied multiplication.
  • \[ImplicitPlus] for entry of mixed fractions.
  • Improved font-aware spanning character rendering.
  • Alt+[, {, ( for creating matched pairs of brackets.
Formatting & Styling
  • Direct programmatic access to all styling, using Style.
  • Full support for style inheritance and cascading stylesheets.
  • Enhanced stylesheet editing mechanism.
  • Full support for spanning rows and columns in tables.
  • Direct support for Grid, Column, Row and related constructs.
  • Extensive new table formatting options.
  • Symbolic Framed, Labeled etc. constructs.
  • Bold, Italic, Underlined etc. symbolic font settings.
  • LineSpacing enhanced to optimize inline graphics display.
  • Magnify for expression-based magnification.
  • Spacer, Invisible text formatting elements.
Workflow Enhancements
  • Integrated notebook-based editor for .m package files.
  • Cell change times tracking.
  • Graphical notebook history overview, with drill-down.
  • NotebookDirectory front end directory function.
  • $UserDocumentsDirectory for easy access to saved documents.
  • Easy programmatic access to cell grouping.
Evaluation Control
  • Notebook and cell-group localized evaluation contexts.
  • CellProlog, CellEpilog for cell evaluation.
  • Arbitrary style-settable evaluation function for any cell.
  • Arbitrary event handlers for notebooks, cells and globally.
  • Settable automatic limiting of overly long output.
Interoperability
  • Automatic format recognition and conversion in Copy/Paste.
  • Automatic preservation of quotes, newlines, etc. in pasted strings.
  • Ctrl+Shift+C for Copy As â–º Plain Text.
  • Automatic import and export of GIF, TIFF, JPEG, PNG, SVG, PDF, ... images in notebooks.
  • Support for TEX/L{A}TEX import, with paste auto-detection.
  • Automatic stripping of email annotations when pasting into Mathematica.
  • Extended support for localized filenames under Windows.
Document Programming
  • CreateDocument etc. for immediate creation of symbolic documents.
  • CreateWindow to display an arbitrary notebook expression.
  • TextCell, ExpressionCell, etc. for direct symbolic document representation.
  • Display of notebook expression objects within other notebooks.
  • Hyperlink for symbolic representation of hyperlinks.
  • Defer for creating a cell containing evaluatable input.
  • CellGroup for symbolic cell grouping in document generation.
Graphics in Notebooks
  • Interactive graphics scrollable in notebook.
  • Real-time 3D rotation anywhere in notebook.
  • Automatic resizing of graphics in text, etc.
  • New Drawing Tools palette.
  • New Graphics Inspector palette.
  • Stylesheet control over graphics sizing and styling.
Platforms & Infrastructure
  • Support for Windows Vista.
  • QT-based window interface on Unix and Linux.
  • 64-bit front end support on all platforms.
  • Security features for dynamic notebook evaluation.
  • Install menu for installing add-on components.
  • Modernized interface for stand-alone kernel under Windows.
Systems Interfaces & Deployment
Core System
  • Major new preemptive kernel mechanism to support dynamic interactivity.
  • SystemInformation system dashboard with 120+ dynamically reported properties.
  • SystemOptions access to 250+ settable low-level system options and suboptions.
  • $CharacterEncodings character encoding discovery interface.
  • $MachineDomains, $MachineAddresses for internet property discovery.
  • MemoryInUse extended to report front end process memory.
  • $SystemWordLength system parameter.
  • Updated mechanism to clear cached results of computations.
Files & Web Connectivity
  • Streamlined handling of all internet connectivity, including proxies, etc.
  • Support for string patterns in file names.
  • New file interlock mechanism.
  • FileHash for fast file hashing.
  • CreateDirectory, OpenWrite, etc. to automatically handle temporary files.
  • FilePrint for printing file contents directly in a notebook.
Connection Infrastructure
  • New shared memory MathLink protocol for Macintosh and Unix.
  • 10× throughput increase for MathLink shared memory devices.
  • Shared dynamic MathLink libraries on all platforms.
  • Support for UTF-8, UTF-16, UTF-32 in MathLink.
APIs
  • Major modernization of MathLink C API.
  • Full support for installing and calling web services.
Device Connectivity
  • Auto-detect support for arbitrary HID systems.
  • ControllerPath for prioritizing devices.
  • Special controller mappings for standard gamepads and 3D devices.
  • Additional Components
  • Completely new documentation system, in-product and on-web.
  • Equivalent of 20,000+ pages of new documentation and tutorials.
  • 25,000+ new examples of Mathematica functionality.
  • 300+ "guide page" concept maps of Mathematica functionality.
  • 150,000+ new cross-links between documentation elements.
  • In-product and on-web linguistic-aware search system.
  • Load-on-demand system with automatic documentation updating.
  • The Wolfram Demonstrations Project with 1000+ entries.
  • New Mathematica Player with dynamic content capabilities.
  • Copernic support in Wolfram Notebook Indexer (Windows only). Automatic compatibility scanning of older Mathematica notebooks.

5.1    5.0    4.2    4.1    4.0    5.2

New Features in  V5.2

  • All-platform support for 64-bit addressing
  • Multicore support on major platforms
  • Multithreaded numerical linear algebra
  • 64-bit-enhanced arbitrary-precision numerics
  • Vector-based performance enhancements
  • Automatic binary installation selection
  • Bundled notebook indexing for desktop search
  • SSH support for secure remote kernels
  • vCard and RSS import
  • New algorithms for symbolic differential equations
  • Enhanced performance for linear Diophantine systems
  • Enhanced quadratic quantifier elimination
  • Singular-case support for high-level special functions
  • Enhanced statistics charts
  • MathematicaMark 5.2 benchmark now covering grids and clusters
  • And many more enhancements and innovations...
 

New Features in V5.1

Numerical Computation
  • New highly enhanced algorithms for high-precision LinearSolve.
  • Internal vectorization of high-precision vector operations.
  • New high-performance methods for MatrixExp.
  • Support for sparse singular value decomposition.
  • Support for HessenbergDecomposition.
  • Typeset notation for Transpose and Conjugate.
  • Numerical integration of discontinuous piecewise functions.
  • Numerical integration over implicitly defined regions.
  • Support for event detection in NDSolve.
  • Additional convenience functions Boole, Clip, and Rescale.
  • Package for cluster analysis and dendrograms.
  • Package for interactive exploration of differential equation systems.

 

Symbolic Computation
  • General vector derivatives, including Gradient, Hessian, and Jacobian.
  • Piecewise construct for representing general piecewise functions.
  • Simplification with piecewise and nested piecewise functions.
  • Reduction of piecewise equations and inequalities, including quantifiers.
  • Limit, Series, and D support for general piecewise functions.
  • Indefinite and definite integration of general piecewise functions.
  • Support for solving piecewise ordinary differential equations.
  • Symbolic multiple integration over regions defined by inequalities.
  • Enhanced support for solving Abel and other differential equations.
  • Support for linear differential equations with nonrational coefficients.
  • Nonlinear partial differential equation solutions based on complete integrals.
  • Support for equations with multiple moduli in Reduce.
  • Additional methods for solving Diophantine equations.
Language and Core System
  • Full support for optimized string pattern matching.
  • Integrated string and expression pattern language.
  • General support for complement patterns with Except.
  • String patterns integrated into all string operations.
  • Generalized StringCases for string analysis.
  • New functions StringSplit, StringCount, and StringReplaceList.
  • RegularExpression construct for compact string pattern notation.
  • English-language dictionary package
  • Support for generalized Tuples and Subsets.
  • Expression filtering function Pick.
  • Package for benchmarking of computer systems.
Data Handling and Visualization
  • ArrayPlot for flexible large-scale array visualization.
  • Package for fully automated network and tree layout in 2D and 3D.
  • Highly optimized import and export of binary data.
  • Import and export of XLS spreadsheet files.
  • Support for HDF5, MAT (v5), DIF, and PCX.
  • Export of AVI movie files.
  • Import from http and ftp URLs.
  • Automated encoding and decoding of .gz files.
  • Integrated TeX import and parsing in notebooks.
  • Symbolic names for common colors such as Red and Black.
Database Access
  • DatabaseLink for universal cross-platform database connectivity.
  • Bundled drivers for most common database systems.
  • Integrated language interface for database discovery, query, and updating.
  • Graphical interface for database connection and exploration.
  • Bundled SQL engine for creating custom databases.
GUI Tools
  • Integrated GUIKit for building standalone user interfaces.
  • Platform-independent Mathematica language GUI specification.
  • Over 100 types of controls and widgets.
  • Automatic layout for complex dialog boxes.
  • System for creating sequential wizard interfaces.
  • Large library of sample GUI applications.
Web Services
  • Transparent access to web services from within Mathematica.
  • Support for SOAP and WSDL.
  • Packages for search and lookup on Wolfram Research and other sites.

Mathematica V5.0

Mathematica 5 is the first technical computing system to offer the scope of Mathematica together with the speed and scalability of a dedicated numerical system.

Enhancements throughout make Mathematica 5 better suited to production-scale work than ever before. It offers a complete solution from initial calculations through prototyping to final solutions and documentation. The speed, scope, and scalability of Mathematica 5 make it a uniquely compelling all-around technical system for institution-wide adoption as well as for the individual.

Mathematica 5 is primarily an advanced algorithm release with a large number of major new technologies, many of them developed in house by Wolfram Research. Find out more in the following pages.

Key new technologies enable Mathematica 5 to outperform dedicated numerical systems in raw computational speed without compromising any of the accuracy or reliability that Mathematica is known for.

  • Fast Dense Numerical Linear Algebra
  • High-Speed Sparse Linear Algebra
  • Large-Scale Linear Programming
  • Big-Number Arithmetic
  • 64-Bit Platform Support
  • Faster MathLink

Mathematica 5 brings major enhancements for numeric computations, including new-generation optimized numerical solvers for ordinary and partial differential equations, as well as extensive support for vector and array functions in numeric solvers.

  • NDSolve
  • FindRoot
  • FindFit
  • FindMinimum and FindMaximum

Mathematica 5 introduces extensive new symbolic functionality, much of which is based on algorithms that are exclusive to Mathematica. Some highlights include major new algorithms for solving equations and inequalities symbolically over complex numbers, reals, and integers; solvers for differental algebraic equations and recurrence equations; and wider support for user-defined domain specifications.

  • DSolve
  • RSolve
  • Reduce
  • FindInstance
  • Maximize/Minimize
  • Assuming/Refine

New import and export filters, as well as updated Java, .NET, and XML integration make Mathematica 5 the technical software leader for communicating and embedding with other systems.

  • Connection Technology
  • Import/Export

The range of other new capabilities in Mathematica 5 demonstrates its breadth and depth. From additional language constructs to enhanced statistical plots and improved publishing tools, new functionality has been added to every major aspect of the system.

  • Statistical Plots
  • Sow and Reap
  • Timing Functions
  • Algebraic Number Objects
  • Authoring and Presentation

Enhancements added to V4.2

Mathematica 4.2 brings new functionality and enhanced connectivity to Java, XML, and the web. It offers new and updated features for linear programming, statistics, optimization, combinatorics, and graph theory.

The new XML capabilities allow users to import, manipulate, and export information, as well as Mathematica expressions and notebooks, in XML. The new bundled AuthorTools package and the new slide show environment make creating great-looking technical documents and presentations a snap.

Programmers can now also take advantage of the included Java Runtime Environment to create Java-based user interfaces or to make use of standard Java libraries in Mathematica. In addition, Mathematica 4.2 provides easier management and restriction of licenses than was provided by previous versions.

Mathematica 4.1 extended the technologies and advances pioneered by Wolfram Research, Inc. in Mathematica 4. Enhanced solvers, functions, and an improved pattern matcher and compiler allow scientists and researchers to solve more-complex problems more quickly. MathML and HTML integration helps academics and technical professionals share their work over the internet, while J/Link allows the design of innovative applications, combining the strengths of Mathematica and Java.

Major Improvements in V4.1

  • Greatly enhanced symbolic differential equation solvers
  • Enhanced Mathematica pattern matcher and compiler, increasing speed and minimizing memory consumption
  • New standard package for integration over inequality-defined regions and piecewise functions
  • Dramatic speed improvements in statistics functions
  • Conversion between linear systems of equations and matrices
  • Java integration with J/Link 1.1
  • Improved MathML integration on the web
  • Support for saving in IBM techexplorer format
  • New and faster import and export filters for Excel files, tabular data, compressed BMP, DXF, and STL
  • Support for real-time manipulation of 3D graphics on Linux and Unix platforms
  • Sound support under X
  • Routines for plotting graphics defined by inequalities
  • Support for LinuxPPC and AlphaLinux
  • Discrete trigonometric package
  • Enhanced look and feel for the X front end

What was new in V4?


Numerical Computation


  • Internal packed array technology to make repetitive operations on large numerical datasets radically more efficient in speed and memory. 
  • Highly optimized algorithms for doing computations on numbers with up to millions of digits. 
  • Faster input and output of very large integers. 
  • Complete preservation of precision on input and output of approximate real numbers. 
  • Convolution and correlation of arrays of any dimension. 
  • New optimized algorithms for Fourier transforms. 
  • Faster solution of numerical polynomial equations. 
  • New algorithms for FindMinimum
  • Direct support for matrix traces.

Algebraic Computation


  • Support for assumptions in Simplify, FunctionExpand and related functions. 
  • Specification of domains for variables. 
  • Many additional transformations in FullSimplify and FunctionExpand
  • Simplification of polynomial and other inequalities. 
  • Full support of symbolic Laplace, Fourier and Z transforms. 
  • Extensions to integration and summation. 
  • Extensions to transcendental equation solving. 
  • Faster multiple differentiation. 
  • Support for subresultants.

Mathematical Functions


  • Dirac delta and other generalized functions. 
  • Struve functions. 
  • Nielsen generalized polylogarithms. 
  • Appell F1 bivariate hypergeometric function. 
  • Harmonic numbers. 
  • Khinchin and Glaisher constants. 
  • Multiplicative order and Carmichael lambda functions. 
  • New optimized methods for evaluating , and other constants to very high precision. 
  • Full support for continued fractions. 
  • Support for periodic digit sequences. 
  • Direct support for bitwise operations.

Graphics and Sound


  • Faster generation and display of large graphics. 
  • Export of graphics and sound in many formats. 
  • Import of graphics and sound in many formats. 
  • Support for discrete scaling of color levels. 
  • Fully consistent support for absolute options. 
  • Experimental support for real-time 3D graphics (Windows and Macintosh only).

Programming and Core System


  • NestWhile and NestWhileList, allowing generalizations of FixedPoint
  • PadLeft and PadRight
  • Support for padding and overhangs in Partition
  • ListConvolve and ListCorrelate
  • Generalization of Take, Drop and related functions to any number of dimensions and any stride. 
  • Support for All as a specification of parts at specific levels in expressions. 
  • Extension to Mod to support cyclic lists. 
  • Developer` context containing advanced and algorithmic specific built-in functions. 
  • Experimental` context providing a preview of features under development.

Input and Output


  • Optimized minimal-change line breaking for smooth input of expressions and programs. 
  • Event-oriented cursor tracker for visual continuity during input. 
  • Dynamic color cues for delimiter matching during input. 
  • Automatic replacement of input key sequences by special characters or other objects.
  •   and used by default in standard output. 
  • New optional syntax for part extraction and function application. 
  • Inline cells within typeset Mathematica expressions. 
  • Much faster string-oriented output of Mathematica expressions.

Notebook Interface