Mathematica 6.0 fundamentally redefined Mathematica and introduced a major new paradigm for computation. Building on Mathematica's time-tested core symbolic architecture, Version 6.0 added 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.
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.
SortBy for sorting by values of a function applied to list elements.
New Tally function to tally identical elements and multiplicities.
Commonest to find most frequent elements in lists.
Riffle to interleave elements in lists.
Support for matching general pattern subsequences. >>
Repeated (..) generalized to constrain the number of repeats.
Quiet for convenient message control.
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. >>
Symbol name discovery extended to regular expressions. >>
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.
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. >>
Manipulate as a universal dynamic interface for arbitrary objects.
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. >>
Support for automatic encapsulation of imported functions. >>
Export to Flash and other web formats. >>
Support for arbitrary content and labeling in all viewers, with dynamic sizing. >>
Support for attaching tooltips etc. to arbitrary expressions, graphics elements, etc. >>
MouseAnnotation for associating expressions with arbitrary annotation elements.
Seamless integration of active controls with graphics, layout, and typesetting. >>
Modifier-key-based support for multiple-level fine slider control. >>
Support for general 2D slider controls. >>
PopupMenu allowing arbitrary expressions or graphics.
Setter control for setting arbitrary values.
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.
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. >>
Support for platform-neutral rendering of all controls, including printing. >>
Delimiter for visual separation in controls layout.
General Dynamic construct for representing continually updated dynamic expressions.
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. >>
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. >>
DockedCells to create a custom toolbar inside a notebook.
Many standard and customizable types of 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.
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. >>
Unitize convenience function added.
Zernike polynomials added. >>
Siegel theta function added. >>
PolyGamma generalized to arbitrary complex order.
Bell and Nörlund (generalized Bernoulli) polynomials added. >>
ChineseRemainder function added.
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.
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.
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 point.
PossibleZeroQ fast, heuristic test for zeros added.
Support for generation of symmetric polynomials, and symmetric reduction. >>
Polynomial discriminant function added. >>
Square-free polynomial testing and decomposition. >>
Exact root counting and isolating intervals for polynomials. >>
Support for general Padé approximants. >>
Symbolic normalization and orthogonalization of families of functions. >>
HornerForm polynomial representation.
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.
New fast high-quality algorithms for random number generation. >>
Exclusions to specify regions to exclude in integration etc.
ExampleData with immediate access to matrix, optimization, etc. test problems.
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. >>
Normalization, orthogonalization, and projection of vectors. >>
Support for Hilbert, Hankel, and Toeplitz matrices. >>
MatrixPlot for visual representation of matrices.
Full symbolic & numeric computation of 20+ properties of 36 named statistical distributions. >>
14 new descriptive statistics functions added. >>
Nearest for finding nearest neighbors in multidimensional data.
FindClusters for general cluster analysis in numeric, Boolean, and string data.
18 distance and similarity measures added. >>
Extended support for multidimensional and vector-valued interpolation. >>
Support for unstructured data in InterpolatingPolynomial.
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.
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. >>
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. >>
Extended and optimized graphics primitives. >>
GraphicsComplex primitive supporting connected lines, polygonal surfaces, etc.
New Arrow primitive with fully-configurable arrows.
Polygon supports smooth color gradients and shading.
GraphicsGroup for selection grouping of graphics objects.
Full support for geometric transformations of graphics objects and primitives. >>
Directive for compound graphics directive.
Support for preset symbolic size specifications (e.g. Tiny).
ColorData with extensive library of color schemes.
Blend for arbitrary color interpolation.
Fully updated support for 3D lighting model, including point and spot light sources. >>
Detailed control of image size, margins, and padding. >>
Smooth shading for 2D and 3D polygon meshes and surfaces. >>
AlignmentPoint etc. for graphics alignment in flowing text.
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.
Annotation for arbitrary object annotation.
Tooltip to display an arbitrary tooltip for any object.
StatusArea for annotation in the window status area.
PopupWindow to display a separate window.
Plotting over regions specified by arbitrary constraints. >>
Exclusions mechanism to exclude discontinuities etc. >>
Fully general mesh overlay capability for all regions and surfaces. >>
Enhanced support for InterpolationOrder, including multidimensional data.
Support for stepped 2D plots and Voronoi-based 3D plots. >>
Enhanced Plot with support for filling, adaptive sampling, exclusions, mesh overlays, etc.
New ParametricPlot with support for 2D parametric region, adaptivity, meshes, etc.
DateListPlot for general plotting of time- and date-based data.
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.
Convenient support for equation-based contours in ContourPlot.
New ReliefPlot for cartographic and height-based data.
Enhanced ArrayPlot with more detailed data-range capabilities.
Support for sparse arrays and color-based data in Raster.
Rasterize to create a raster image from an arbitrary expression.
ListPlot3D supports unstructured data, downsampling, region constraints, and mesh overlays.
RegionPlot3D for visualizing 3D regions described by combinations of inequalities.
ListSurfacePlot3D for 3D surface reconstruction from multivalued data.
ListPointPlot3D for 3D scatter plots.
New NormalsFunction option to specify effective normal vectors on a surface.
New GraphPlot3D for general graph layout in 3D.
Manipulate as an instant universal interface for dynamic visualization.
Support for gamepads and other devices. >>
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. >>
Support for import and export of all standard audio formats. >>
FinancialData for current and historical securities 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.
Greatly extended collection of supported formats. >>
New and enhanced handling of scientific and medical data formats. >>
Enhanced support for SDTS format.
FileHash to calculate file hash values.
Rasterize for conversion to bitmap rasters.
Nearly 700 new detailed interface options and suboptions. >>
OutputSizeLimit to prevent unexpectedly large output.
200+ new symbolic notational operators. >>
Support for arbitrary docked cells for notebook toolbars. >>
Support for notebook-unique and cell-unique namespaces. >>
Support for full-screen presentation mode. >>
Support for transparent windows. >>
Programmatic access to window status area. >>
User-definable syntax coloring. >>
Automatic × insertion for implied multiplication. >>
\[ImplicitPlus] for entry of mixed fractions.
Direct programmatic access to all styling, using Style.
Full support for spanning rows and columns in tables. >>
Extensive new table formatting options. >>
LineSpacing enhanced to optimize inline graphics display.
Magnify for expression-based magnification.
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. >>
Notebook and cell-group localized evaluation contexts. >>
Arbitrary style-settable evaluation function for any cell. >>
Arbitrary event handlers for notebooks, cells, and globally. >>
Settable automatic limiting of overly long output. >>
Automatic import and export of GIF, TIFF, JPEG, PNG, SVG, PDF, ... images in notebooks. >>
CreateDocument etc. for immediate creation of symbolic documents.
CreateWindow to display an arbitrary notebook expression.
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.
New Drawing Tools palette. >>
New Graphics Inspector palette. >>
SystemInformation system dashboard with 120+ dynamically reported properties.
SystemOptions access to 250+ settable low-level system options and suboptions.
$CharacterEncodings character encoding discovery interface.
MemoryInUse extended to report front end process memory.
$SystemWordLength system parameter.
Updated mechanism to clear cached results of computations. >>
Support for string patterns in file names. >>
FileHash for fast file hashing.
FilePrint for printing file contents directly in a notebook.
Major modernization of MathLink C API. >>
Full support for installing and calling web services. >>
Auto-detect support for arbitrary HID systems. >>
ControllerPath for prioritizing devices.
Special controller mappings for standard gamepads and 3D devices. >>