Summary of New Features in 7.0
The introduction of Mathematica 6 in 2007 represented a revolutionary redefinition of Mathematica. Arriving only 18 months after Mathematica 6, Mathematica 7 represents another major R&D achievement, building on more than 20 years of Mathematica development, broadening and deepening almost every major area of the system, and adding several key new areas to the domain of Mathematica.
Core Language
open all close allList & Expression Manipulation
Gather, GatherBy, SplitBy for generalized list partitioning and grouping
DeleteDuplicates to remove elements without sorting
ArrayPad to pad multidimensional arrays with arbitrary expressions
LengthWhile, TakeWhile extended to arbitrary heads
Ratios for successive ratios of elements in list
Programming & Development
Support for themed groups of messages »
Check, Quiet, On, Off support named message groups
DiscreteIndicator conditional function added
String-Related Functions
SequenceAlignment to find an optimal alignment of sequences of elements
SimilarityRules, GapPenalty for fine tuning of the optimal alignment
LongestCommonSequence, LongestCommonSubsequence added
HexadecimalCharacter pattern in StringExpression added
StringTrim to remove surrounding spaces in strings
Similarity and Distance Measures
DamerauLevenshteinDistance string distance added
SmithWatermanSimilarity, NeedlemanWunschSimilarity measures added
ChessboardDistance added
Parallel Computing
New language primitives to take advantage of multiprocessor and parallel architecture »
Parallelize for evaluation using automatic parallelization
ParallelTry to evaluate several expressions in parallel
ParallelMap, ParallelTable, ParallelSum, ... parallel analogues added
SetSharedVariable, DistributeDefinitions to synchronize data and definitions
ParallelSubmit, WaitAll, ... to evaluate expressions concurrently
Dynamic Interactivity
Interactive Manipulation
Bookmarks added for Manipulate to specify predefined control settings
InterpolationOrder option for Manipulate to specify smooth autorun sequence
UnsavedVariables support in DynamicModule, Interpretation, etc.
General symbolic Control object added in Manipulate
Symbolic Controls
New ButtonBar, ChoiceButtons controls added
Added support for Delimiter in CheckboxBar and RadioButtonBar
"Scrollable" pane to display large content »
"Limited" appearance for TabView to limit the number of displayed tabs »
Support for various appearances in Panel
ImageMargins option for RadioButtonBar added
UnsavedVariables option for DynamicModule added
PreemptProtect option added to prevent interruption by preemptive evaluations
Mathematics and Algorithms
Discrete Calculus
New comprehensive framework for discrete calculus added »
Sum, Product extended to support indefinite sums
DifferenceDelta, DiscreteShift, DiscreteRatio for discrete differences and ratios
SumConvergence added to find conditions for convergence of sums
ContinuedFractionK to construct a continued fraction from a formula for terms
RSolve modified to support recurrences and discrete functional equations
RecurrenceTable to generate values from recurrences and functional equations
DifferenceRoot for symbolic representation of solutions of difference equations
DifferenceRootReduce to simplify DifferenceRoot objects
FunctionExpand extended to expand DifferenceRoot and DifferentialRoot objects
GeneratingFunction, ... to construct generating function given n th series coefficient
SeriesCoefficient to find a series coefficient for a given generating function
DiscreteConvolve, DirichletConvolve to convolve two discrete functions
DirichletTransform added
FourierSequenceTransform discrete Fourier transform
ZTransform, InverseZTransform expanded to support multidimensional sequences
Integer Sequence Functions
FindSequenceFunction to find closed form for integer sequence
FindGeneratingFunction to find generating function given series coefficients
FindLinearRecurrence to find minimal linear recurrence reproducing the sequence
LinearRecurrence to generate a sequence given recurrence coefficients
Boolean Computation
Conjunction, Disjunction, Equivalent, Xnor functions added
BooleanFunction for general multivariate Boolean function
BooleanMinterms, BooleanMaxterms for combination of minterms and maxterms
BooleanConvert, BooleanMinimize for conversion among standard forms
BooleanCountingFunction, Majority counting functions added
BooleanTable to generate truth table for a given function
BooleanVariables for a list of Boolean variables in expression
SatisfiabilityCount, SatisfiableQ to check if a function can ever be true
SatisfiabilityInstances to find values that make the function true
TautologyQ to test if the function is identically true
Number Theory
PrimeNu, PrimeOmega for number of distinct prime factors
IntegerPartitions modified to restrict number of returned partitions
New functions PrimeZetaP, RiemannR, DirichletL added
MangoldtLambda added
LiouvilleLambda added
DirichletCharacter added
FactorialPower added
Hyperfactorial added
DivisorSum to sum over divisors of an integer
Mathematical Functions
QBinomial, QFactorial, ... q-Series related functions added »
Haversine, InverseHaversine added
BarnesG, LogBarnesG functions added
HurwitzZeta, HurwitzLerchPhi added
AngerJ, DawsonF, WeberE functions added
Gudermannian, InverseGudermannian added
BernsteinBasis, BSplineBasis, BezierFunction, BSplineFunction added
DiracComb utility function added
Log10, Log2 utility functions added
SquareWave, TriangleWave, SawtoothWave utility functions added
LucasL polynomial support added
FiniteGroupCount, FiniteAbelianGroupCount added
UnitBox, UnitTriangle convenience functions added
HeavisideLambda, HeavisidePi distributions added
Symbolic Computation
Tensor derivative support in D added
"CompensatedSummation" method for Accumulate added to control error
Regularization option for Sum and Product to specify regularization type
RSolve now supports many types of functional equations
Wronskian and Casoratian functions added
Support for multiple methods in Sum and Product
Support for transcendental and general equations in Root
Option to RootApproximant allows control of the "simplest" approximation
Test for irreducible polynomials IrreduciblePolynomialQ added
CoefficientRules, FromCoefficientRules operations on polynomials added
MonomialList to extract and sort monomials from a polynomial
Assumptions and Method options for SeriesCoefficient added
Optimization
ArgMin, ArgMax to find a value that provides extremal value
MaxValue, MinValue to obtain an extremal value
FindArgMin, FindArgMax to try to find extremal point given its approximation
FindMinValue, FindMaxValue to try to find extremal value
NArgMax, NArgMin, NMaxValue, NMinValue to find extremum numerically
Fourier Analysis
FourierSeries for a Fourier series expansion
FourierSinSeries, FourierCosSeries for expansion over Sin and Cos
FourierTrigSeries for expansion over Sin and Cos
FourierCoefficient for a coefficient in a Fourier series
FourierCosCoefficient, FourierSinCoefficient for coefficients in Sin or Cos series
FourierSequenceTransform for discrete Fourier transform
InverseFourierSequenceTransform added
DiracComb, HeavisidePi, HeavisideLambda added
DiscreteConvolve, Convolve operators added
General Numerics
FindDivisions added to divide interval into "nice" sub-intervals
Differential Equations
Delay differential equation support added in NDSolve
DifferentialRoot for symbolic representation of solutions to linear differential equations
Wronskian to test linear independence of functions or ODE solutions
DifferentialRootReduce to simplify DifferentialRoot objects
Matrices & Linear Algebra
RealBlockDiagonalForm option to allow real-valued diagonal blocks
DiagonalMatrix modified to allow off-diagonal elements and padding
IdentityMatrix now allows rectangular matrices and sparse arrays
ConstantArray and DiagonalMatrix now support sparse arrays
UpperTriangularize, LowerTriangularize added to extract parts of matrix
SymmetricMatrixQ test added
PauliMatrix matrix generator added
CrossMatrix, DiamondMatrix, DiskMatrix, BoxMatrix shape matrices added
GaussianMatrix added
LeviCivitaTensor for a totally antisymmetric tensor
Statistics & Data Analysis
FindCurvePath for reconstruction of sampled curves
Median, Quartiles, QuartileDeviation, ... added support for built-in distributions
LinearModelFit, NonlinearModelFit to construct regression models from data
LogitModelFit, ProbitModelFit, GeneralizedLinearModelFit added
Interpolation now allows immediate calculation of interpolated values
InverseGammaDistribution, InverseChiSquareDistribution added
LevyDistribution added
StudentTDistribution extended to have multiple parameters
ExpectedValue extended to support sampled data
Standardize to adjust constant shift and variance of the data
FittedModel for symbolic representation of fitted models
DesignMatrix to construct the design matrix for a linear model
Entropy function to measure randomness in data added
ContraharmonicMean added
Visualization and Graphics
Graphics Language and Primitives
BSplineCurve, BezierCurve primitives for curves of any degree
BSplineSurface primitive for NURB surface of any degree
BernsteinBasis, BSplineBasis spline basis functions added
SplineDegree, SplineKnots, SplineWeights, SplineClosed, ... options for splines
Tube, Cone graphics primitives added
Multi-Sphere support added
Precision support for UnitVector added
Arrow modified to support 3D graphics and Tube, Line, and other primitives
Charting Functions
Histogram, Histogram3D for 2D and 3D histograms
BarChart, BarChart3D to display data as bars
PieChart, PieChart3D to display data as part of the whole
SectorChart, SectorChart3D to display data with variable sector sizes and radii
RectangleChart, RectangleChart3D to display data as rectangles of variable sizes
BubbleChart, BubbleChart3D to display data as bubbles
Primitives for arbitrary chart labels and legends added »
Options for chart styling and layout added »
Chart annotations using ChartLegends, ChartLabels, Placed, Legended added
Chart Element Schemes palette added
Geometric Transformations
Rotate extended to allow more rotation specifications
Generalized Rotate outside Graphics
Seamless conversion of Rotate constructs into explicitly transformed coordinates
Graphics and Options and Directives
CapForm, JoinForm to customize polygon edges
RoundingRadius for rounded corners for Rectangle, Framed, etc.
CoordinatesToolOptions option for Graphics added »
2D & 3D Visualization
ContourPlot support for simulated lighting »
StreamPlot, VectorPlot for vector field visualization
StreamDensityPlot, VectorDensityPlot for combined vector and density plots
LineIntegralConvolutionPlot, ListLineIntegralConvolutionPlot added
VectorPlot3D for a 3D plot of a vector field
ListStreamDensityPlot, ListVectorDensityPlot added
ListVectorPlot, ListVectorPlot3D, ListStreamPlot added
ListCurvePathPlot for interpolation through data points
SphericalPlot3D enhanced
DateListLogPlot added for plotting time series data
FindCurvePath to reorder points along a curve
Visualization Options and Directives
VertexColors, VertexNormals options for Line, Point, etc.
DefaultLabelStyle, DefaultFrameStyle, DefaultAxesStyle, ... default options added
ContourLabels modified to support labels and tooltips
StreamPoints, StreamScale, StreamStyle, StreamColorFunction, ... added
VectorColorFunction, VectorPoints, VectorScale, VectorStyle, ... added
Transparent color directive added
PolarAxesOrigin, PolarAxes, PolarGridLines, PolarTicks options added
Sound
SpokenString for a spoken representation of an expression
Speak to emit spoken form of an expression using computer's sound system
Data Manipulation
Import & Export
Added support for secure socket layer (SSL, https) in Import
New chemical and biological formats: "GenBank", "PDB", "SDF", "SMILES", "MMCIF", "MOL2"
New GIS formats: Shape ("SHP"), "TIGER", "SDTSDEM", "SP3"
Image Processing & Analysis
New image processing functionality with many functions added »
Image as symbolic representation of an image added
ImageQ to test if the expression represents an image
ImageDimensions, ImageChannels, ImageType, ... to obtain image properties »
ImageResize, ImageRotate, ImageReflect for basic image operations »
ImagePad, ImageTake, ImageCrop added
Thumbnail for a thumbnail version of an image
ImageData to extract raster data as array
ImageAdjust to adjust brightness, contrast etc.
Sharpen, Blur image operations added
ImageEffect for special photographic effects
ImageConvolve, ImageCorrelate, ... for image filtering »
GaussianFilter, LaplacianFilter, GradientFilter, ... added »
DiskMatrix, BoxMatrix, DiamondMatrix, ... convolution kernels added
Dilation, Erosion, Opening, Closing, ... morphological operations added »
HitMissTransform, TopHatTransform, ... morphological transforms added »
ImageCompose to overlay images
ImagePartition, ImageAssemble to split and combine parts of an image
ImageAdd, ImageSubtract, ImageApply, ImageMultiply, ... for image arithmetic »
ImageHistogram, ImageLevels for color analysis of the image
ColorQuantize for color approximation of the image
ColorCombine, ColorSeparate to work with image channels
GeodesicDilation, GeodesicErosion morphology functions added
MorphologicalComponents added
Geodesy
Functions for geodetic computations added »
DMSList, DMSString for symbolic representation of angles
FromDMS to convert between representations of angular values
GeodesyData for information on reference ellipsoids and datums
GeoProjectionData for information on cartographic projections
GeoDistance, GeoDestination, GeoDirection for geodetic measurements
GeoPosition for symbolic representation of geodetic position
GeoGridPosition for projection of a position to a cartographic grid
GeoPositionENU, GeoPositionXYZ added
FindGeoLocation to find your current position from IP
Latitude, Longitude, LatitudeLongitude to obtain cartographic coordinates
$GeoLocation for default geodetic location to use
Computable Data
Large Collections of Curated Data
AstronomicalData enhanced with many new objects and properties
New FiniteGroupData, FiniteGroupCount, FiniteAbelianGroupCount
DictionaryLookup added support for many languages
New GenomeData for properties of human genes
New GenomeLookup for fast lookup of human genome sequences
New ProteinData for information about protein structure and function
New WeatherData for current and historical weather measurements
Curator-checked ChemicalData with extended entities and properties
New GeodesyData for data on geodetic coordinate systems
GraphData enhanced with many new properties
PolyhedronData enhanced with many new properties
Notebooks and Documents
General Interface Features
Improved startup user experience
New horizontal insertion cursor between cells
New handling of interactive style settings for cells
Improved heuristics and display of special functions in TraditionalForm
UsingFrontEnd allows using front end functionality from a standalone kernel
Right-click contextual menus added for many notebook elements
NotebookPrint can be used with arbitrary expressions
ActiveStyle, BaseStyle new style option for Hyperlink
Updated Make Template mechanism »
Basic Math Assistant , etc. quick-start palettes added
TooltipDelay option added
Symbolic Placeholder construct added
Support for bookmarks in Manipulate added
CoordinatesToolOptions option to use in Get Coordinates tool added »
CheckboxBar now supports delimiters, background color, and margins
Support for round corners in Framed
Options for customization of Row added
Formatting & Styling
DefaultAxesStyle, DefaultFrameStyle, ... default options added
Systems Interfaces & Deployment
Core System
Improved Windows and Linux installers
SendMail to send email directly from the Wolfram System
SystemOpen to open any kind of file in the associated external program
SystemInformation improved
Uncompress supports arbitrary head
Files & File Names Operations
FindFile to locate the path to an existing file
AbsoluteFileName to find the full absolute name of an existing file
ExpandFileName to expand a file name to an absolute form
FileExistsQ to check if a file exists
DirectoryQ to check if a directory exists
FileNameSplit, FileNameJoin, ... to manipulate names of files and directories »
FileBaseName, FileExtension to extract parts of a file name
FileHash to compute a hash code for the contents of a file
FileDate, SetFileDate to get and set access, creation, and modification times for a file
NotebookFileName for the name of the current evaluation notebook
Parallel Computing
New extensive built-in framework for doing parallel computations »
New cluster and kernel configuration tab in Edit ▶ Preferences
LaunchKernels to start preconfigured worker kernels
Parallelize for automatic parallel expression evaluation
ParallelTry, ParallelEvaluate to evaluate expressions concurrently
CriticalSection locking mechanism added
General ParallelCombine utility added
ParallelMap, ParallelTable, ParallelDo, ... added for parallel evaluation
Kernels, $ConfiguredKernels, $KernelCount, AbortKernels ... for kernel management
KernelObject for symbolic representation of available worker kernel
ParallelSubmit to queue expressions for evaluation
EvaluationObject symbolic representation of a queued expression
DistributeDefinitions to share definitions among kernels
SetSharedVariable, SetSharedFunction added
$SharedFunctions, $SharedVariables for list of shared objects
WaitAll, WaitNext, ... for control of concurrent evaluations
$TimedOut as a result of operations that could not be completed in the given time frame