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.
List & 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
SequenceAlignment to find an optimal alignment of sequences of elements
SimilarityRules,
GapPenalty for fine tuning of the optimal alignment
StringTrim to remove surrounding spaces in strings
Similarity and Distance Measures
New language primitives to take advantage of multiprocessor and parallel architecture
»
Parallelize for evaluation using automatic parallelization
ParallelTry to evaluate several expressions in parallel
SetSharedVariable,
DistributeDefinitions to synchronize data and definitions
ParallelSubmit,
WaitAll,... to evaluate expressions concurrently
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
"Scrollable" pane to display large content
»
"Limited" appearance for
TabView to limit the number of displayed tabs
»
Support for various appearances in
Panel
UnsavedVariables option for
DynamicModule added
PreemptProtect option added to prevent interruption by preemptive evaluations
Mathematics and Algorithms
New comprehensive framework for discrete calculus added
»
Sum,
Product extended to support indefinite sums
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
GeneratingFunction, ... to construct generating function given
nth series coefficient
SeriesCoefficient to find a series coefficient for a given generating function
DiscreteConvolve,
DirichletConvolve to convolve two discrete functions
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
BooleanFunction for general multivariate Boolean function
BooleanMinterms,
BooleanMaxterms for combination of minterms and maxterms
BooleanConvert,
BooleanMinimize for conversion among standard forms
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
PrimeNu,
PrimeOmega for number of distinct prime factors
IntegerPartitions modified to restrict number of returned partitions
DivisorSum to sum over divisors of an integer
QBinomial,
QFactorial, ... q-Series related functions added
»
BarnesG,
LogBarnesG functions added
AngerJ,
DawsonF,
WeberE functions added
DiracComb utility function added
Log10,
Log2 utility functions added
LucasL polynomial support added
UnitBox,
UnitTriangle convenience functions added
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
MonomialList to extract and sort monomials from a polynomial
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
FourierSeries for a Fourier series expansion
FourierTrigSeries for expansion over
Sin and
Cos
FourierCoefficient for a coefficient in a Fourier series
FourierSequenceTransform for discrete Fourier transform
FindDivisions added to divide interval into "nice" sub-intervals
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
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
PauliMatrix matrix generator 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
Interpolation now allows immediate calculation of interpolated values
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
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
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
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
»
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.
ContourPlot support for simulated lighting
»
StreamPlot,
VectorPlot for vector field visualization
StreamDensityPlot,
VectorDensityPlot for combined vector and density plots
VectorPlot3D for a 3D plot of a vector field
ListCurvePathPlot for interpolation through data points
DateListLogPlot added for plotting time series data
FindCurvePath to reorder points along a curve
Visualization Options and Directives
ContourLabels modified to support labels and tooltips
Transparent color directive added
SpokenString for a spoken representation of an expression
Speak to emit spoken form of an expression using computer's sound system
Added support for secure socket layer (SSL, https) in
Import
New chemical and biological formats:
"GenBank",
"PDB",
"SDF",
"SMILES",
"MMCIF",
"MOL2"
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
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
»
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 image
ImageHistogram,
ImageLevels for color analysis of the image
ColorQuantize for color approximation of the image
ColorCombine,
ColorSeparate to work with image channels
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
GeoPosition for symbolic representation of geodetic position
GeoGridPosition for projection of a position to a cartographic grid
FindGeoLocation to find your current position from IP
Latitude,
Longitude,
LatitudeLongitude to obtain cartographic coordinates
$GeoLocation for default geodetic location to use
Large Collections of Curated Data
AstronomicalData enhanced with many new objects and properties
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
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
Updated Make Template mechanism
»
, etc. quick-start palettes added
TooltipDelay option added
Symbolic
Placeholder construct added
Support for bookmarks in
Manipulate added
CoordinatesToolOptions option to use in tool added
»
CheckboxBar now supports delimiters, background color and margins
Support for round corners in
Framed
Options for customization of
Row added
Systems Interfaces & Deployment
Improved Windows and Linux installers
SendMail to send email directly from
Mathematica
SystemOpen to open any kind of file in the associated external program
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 the name of the current evaluation notebook
New extensive built-in framework for doing parallel computations
»
New cluster and kernel configuration tab in
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
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
WaitAll,
WaitNext, ... for control of concurrent evaluations
$TimedOut as a result of operations that could not be completed in the given time frame