New in Mathematica 10

For Existing Users

Building on Mathematica's rich paradigms, Version 10 introduces a host of new ideas that not only extend the domain of Mathematica, but also streamline and make more efficient many existing patterns of usage.

Headline Features »

All New Functions in: 10.0 » 10.1 » 10.2 » 10.3 » 10.4 »

Highlights of the Rest:

Interactive Conveniences

Computation-aware multiple undo »

The problem of multiple undo in Mathematica has been solved!

Visual hinting of computation dependency

When you edit an input line, its corresponding output goes gray to indicate that it's not connected anymore

Hovering help box »

Whenever you type a function, help on it is just one easy click away

Inline natural language input »

Use Ctrl + = to insert entity names and much more in natural language

Access more styles with Tab

Just press Tab before you type content in a cell to go from section to subsection to...

Autocompletion Everywhere

Option value autocompletion »

Context-sensitive autocompletion that suggests detailed settings for options

Instant autocompletion wizards »

When you need to pick a file or a color, there's always a wizard to help

String autocompletion »

Autocomplete millions of entity names, properties, etc. when they appear in functions

Iconic preview autocompletion »

See visual previews of fonts, plot themes, styles, and more

Code/text/string/etc. input autoconversion »

Just start to type, and a heuristic suggests creating a code, text, string, or other cell

New Core Data Structures

Key-value associations »

Introducing <| ... |>: highly efficient key-value associations deeply integrated into the system

It's SQL, it's NoSQL—it's Dataset »

Introducing a new way to handle relational and hierarchical structured data

Entities for knowledge representation »

Countries, chemicals, movies: there are built-in symbolic entities for all of them

Inactivate and manipulate! »

Make any part of any expression completely inert, for formal manipulation, code transformation, etc.

Geometric region objects »

As part of the large-scale geometry system, there's now a uniform way to represent and use any geometric region

Language Conveniences & Functional Programming

Many more currying and operator forms »

Select[criterion][list] is Select[list, criterion]—and lots of other functions have operator forms, too

The "Key" family »

Lots of functions for handling key-value pairs—as well as lists of rules

The "First" family »

FirstPosition, FirstCase, SelectFirst: no need to check and select first parts anymore

Functions that return associations »

PositionIndex, Count, etc.: where, how many, etc., given as associations

The "By" family »

MaximalBy, CountsBy, GroupBy: lots of "adverb-like" forms of functions

Leveraging Association for lists of rules »

When it makes sense, what works for Association also works for lists of rules

New Syntax

<| ... |> — Association »

Key-value associations: for example, <|a->1, b->2|>

#x — named arguments »

#x is Part[#, "x"] to make it easy to use values from an association

@* and /* — Composition and RightComposition »

Making it easier and easier to do serious functional programming

Templates for Everything

Templates for strings »

It's now so easy to generate strings from templates...

Templated document generation »

So much easier than notebook programming: just use templates to create documents

Templates for the web »

Just a few special tags in your HTML, and you've got a powerful computable template

Notebook templates »

As easy as making a notebook—but now it's a template for making other notebooks

Construct and Pluralize »

Write templates with Pluralize to make words plural when necessary

More Time & Place

Symbolic date objects »

Date and time objects allowing arithmetic, interaction with units, etc.

ARCH, GARCH, and friends »

Lots of powerful time series analysis, modeling, and forecasting

Here, Now, Tomorrow, etc. »

It's so easy to read code when it simply says "Here" or "Now"

Rise, set, etc. for Sun, Moon »

Convenient immediate astronomical computation

Geoposition objects »

There's now a built-in way to represent every point on the Earth (or Moon etc.)

"What time is it?" anywhere »

LocalTime and new time zone handling

Time and event series »

Time series are now part of the core of the system

Geo everything »

Geo computations—and geo maps of everywhere on the Earth—and beyond

Yet More Pure & Applied Math

Additional special functions »

Four more Dirichlet functions, a couple of Fresnels... not to mention Farey sequences or fibonorials

Finite elements! »

Finite elements have arrived—after nearly a decade of development

Mandelbrot and Julia sets »

Efficient functions for computing and visualizing Mandelbrot and Julia sets

Hidden Markov models »

Another piece in the whole framework of random processes and modeling

Math Conveniences

DSolveValue and friends »

Get just the main result from solving an equation...

Matrix predicates »

Test if matrices are orthogonal, positive semidefinite, antihermitean, etc.

Everything over regions »

Solve, Reduce, Integrate, Optimize, etc. all now work with arbitrary geometric regions

Carry units when you do calculus »

DSolve, Integrate, Interpolate, and many more now handle quantities with units

Sigmoid, PowerRange, ...

Yet more functions to make mathematical code convenient and readable

For Math Classes & More

Display math unevaluated »

Use Inactive to maintain inactive versions of math expressions, for manipulation, display, etc.

All the plane and solid geometry you need »

Areas, volumes, distances to figures, etc.—all built in and symbolic

Function domains and ranges »

Full symbolic representations of domains and ranges (and periods) for all sorts of functions

Manipulate implicit math »

Differentiate a formal sum, operate under an integral—do formal operations on unevaluated math

Curve computations »

Curvature, arc length, Frenet, and more

Triangle math »

Use SASTriangle etc. to specify a triangle, then solve for anything about it

Number-line plots »

Beyond 2D and 3D plotting; this is 1D plotting—of points, intervals, etc.

Bigger, Faster, Better Computations

Faster bignums, linear algebra, and more

New optimizations for new machine architectures, new algorithms, etc.

1,000x speed-up in polynomial reduction »

Reduce and solve systems of exact polynomial equations much faster

Lots more sums and products »

New "functional telescoping" algorithms—significantly expanding the universe of doable sums and products

100,000+ numerical solutions »

A major new algorithm for solving numerical systems of polynomial equations

Faster nearest neighbors »

A new algorithm finds nearest neighbors faster in high dimensions

Reduced memory usage

Optimizations in several core data structures reduce memory usage by factors of 2 or more

Breaking the complexity barrier for TSP »

Traveling Salesman Problems with 1,000+ points are now easy

Hybrid symbolic differential equations »

For the first time ever: symbolically solve ODEs with delays and discrete events

Shared library optimization

The kernel now runs as a shared library, cutting the code space needed to run multiple kernels

Elegant New Looks—and Capabilities

A fresh look for visualization »

Completely redesigned and modernized look for visualization

Get back the classic look... »

Just set a plot theme to get back the classic look for all visualizations

Colors display as swatches »

Now you can immediately see what RGBColor[1,.7,.8] is: it just displays as a swatch

Legends for any visualization »

Automated algorithms for creating legends, including quantities and units if needed

Visual summaries of symbolic objects

InterpolatingFunction, NearestFunction, InputStream, etc. now display in a consistent format with drill-down

Plot themes: one option to pick everything »

Minimal, web, business, scientific, sparkline...: pick a theme to automatically set graphics options

Multicolumn output »

Automatically format anything into multiple (perhaps ragged) columns

A few new characters... »

... and of course,

Interacting with the Outside World

Interpreters for everything »

500+ built-in string interpreters—for everything from cities to cat breeds

URL manipulation »

Encoding, decoding, shortening, calling like functions, etc.: all kinds of URL operations

Two-way interaction with external processes »

Start an external process, and do repeated I/O with it

Sending tweets, etc. »

Tweet, update status, etc. from inside any program

More sophisticated DLL communication »

Send images, sparse arrays, and more through LibraryLink to DLLs, and get called back too

Simple string I/O gets simpler »

ReadString, ReadLine, etc.: exactly what you need for low-level string I/O

More robust image capture »

Better support for the zoo of camera connections that exist on computers

Modernized SQL connectivity »

New drivers and more streamlining come to DatabaseLink

Now with WebP, MP3, OGG »

Adding new and popular image and sound formats

de es fr ja ko pt-br ru zh