# Wolfram Mathematica

## Sample additional highlights for existing Mathematica users(Except as noted, all features are available for both desktop and cloud.)

### Filling out Big Math

#### Symbolic PDEs, integral equations, Green's functions... »

Long awaited, and building on a huge tower of algorithmic functionality

#### Eigenvalue problems for differential equations »

Symbolic and numeric eigenvalue problems: Helmholtz, Schrödinger, etc.

#### GOE, GUE...: Random matrices of all kinds »

Full support for random matrices and their statistical properties

### Algorithmic Conveniences

#### Just do arithmetic—with time series »

Add, divide, etc. time series, with regular or irregular sampling

Feet and inches, dollars and cents: handle mixed-radix numbers

#### Know the data boundaries... »

CoordinateBounds computes min and max for every dimension in data

#### Statistical distributions can have units »

Statistical distributions can give quantities, with all the correct units

#### DistanceMatrix for pairwise distances »

Distances between geo points, dates, strings, images...

### Graphics Conveniences

#### Quick, make a regular polygon »

RegularPolygon for the polygon, CirclePoints for the corners

#### Turtles all the way down »

AnglePath provides industrial-strength, Logo-like paths

#### Instantly polar, spherical... »

FromPolarCoordinates etc. for instant conversion to and from polar coordinates

#### Automatic icons from A New Kind of Science, and beyond »

RulePlot automatically displays rules and evolutions for cellular automata etc. in many formats

#### Roll, pitch, yaw and all that »

Specify 3D rotations with RollPitchYawAngles, EulerAngles...

### More, Better Visualization

#### Label anything with callouts »

Automatically placed callouts let you label points, lines, curves...

#### The slice family of plots »

See inside 3D regions with six kinds of slice plots

#### Local clip planes for cutaways etc. »

ClipPlanes becomes a style for any 3D object

#### Word clouds, timelines... »

Visualize with super-flexible word clouds, timelines, etc.

#### Reversed, reciprocal, scaled, etc. axes »

Set up any transformation of axis ticks you want

#### Graphs, gauges and meshes get themed »

PlotTheme instantly switches between different visual themes for Graph etc.

### For Math Classes

#### Don't join across the singularities... »

Exact exclusions for all plots (2D, 3D...)

#### Polygonal numbers  »

Instant triangular, square, etc. numbers

#### Derivatives by hand... »

DifferenceQuotient to approximate Ε-Δ and all that

#### Plot over any region »

However you define a region, you can plot only over that region

#### Roman numerals  »

Want to do math like it was done 2,000 years ago?

### Taking 3D Printing Seriously

#### Fix up geometry so you can print it »

RepairMesh to fix those little glitches in 3D geometry

#### Print that 3D plot! »

Automatic pipeline from a 3D plot of functions or data, to a printed 3D object

#### Just print it... in 3D »

Instant connections to 3D printers and 3D printing services

#### Print that bone! »

Go from a 3D scan (or built-in AnatomyData) to a 3D-printed object, such as a bone

#### Chemicals, knots, polyhedra, terrain... »

Immediately printable 3D geometries

### Notebooks Look Different!

#### Elegant code fonts »

Courier is finally gone, even on the desktop, replaced by an elegant sans-serif code font

#### Real-time spellchecking »

Spellchecking with extended dictionaries as you type in 25+ languages (desktop version)

#### Yet more autocompletion »

Want to know possible option values, or entity properties? Just start typing...

#### Stack trace for any message »

New message display lets you immediately find out where a message was generated

#### Highlighting for initialization cells »

In a notebook, Ctrl + 8 now immediately makes an initialization cell, indicated with a gray background

#### Copyable web documentation

Examples from web documentation are live when they're copied, even on the desktop

#### Streamlined package editor »

Edit your code in a full-function notebook; get it saved as Get[]able plain text

### Nice New Programming Features

#### Simple Table doesn't need braces »

Table[x, n] makes n copies of x; it doesn't need to Table[x,{n}]

#### The mighty Nothing »

Replace an element of a string with Nothing—and it'll just disappear

#### Just wrap Echo in to print a result »

Echo prints, but then returns what it printed, so you can slip it into code anywhere

#### Avoid special-casing using UpTo »

Take[{a,b,c}, UpTo[5]] just works; no conditional needed

#### The this-that family

MinMax, TakeDrop, AbsArg: single functions to make output pairs

#### Just do it Once »

Once lets you give code to be run only once per session

#### Not just Range, but Subdivide »

Make a list of n numbers from 0 to 1, etc.

#### Pattern matching for associations »

Put patterns anywhere in associations, with correct orderless matching etc.

#### Accurate timing, even when it's short »

RepeatedTiming automatically repeats faster operations and averages the times they take

### Even More Functional Programming

#### Fold with history »

SequenceFold lets you fold in any number of previous elements

#### TakeLargest, TakeLargestBy... »

Get the n largest, smallest, etc. elements in a list

#### Nest to make a network »

Create a graph by iteratively nesting a function

#### The Sequence family »

SequencePosition, SequenceCount, etc.: look for sequences directly in lists

#### BlockMap »

Map functions that take blocks rather than single elements

#### Tree it out »

Groupings generates possible trees containing particular elements

### More with Text & Natural Language

#### Big lists of words »

WordList for words of different types (common, verbs, etc.) in 27 languages

#### Find the words, sentences, etc. »

TextWords, TextSentences, etc. to get lists of words, sentences, etc. in a string

#### Diagram that sentence! »

Full sentence parsing into trees of clauses, phrases, etc.

#### Count the letters, words...  »

LetterCounts, WordCounts, etc. in any text

#### Interpreter for structured data »

CompoundElement, RepeatingElement, etc. for interpreting structured data

#### Programmable Linguistic Interface »

Deploy arbitrary grammars containing built-in NLU elements

### Everything's Gone Multilingual

#### Multilingual code captions »

Annotate code in real time with function explanations in a dozen languages

#### Transliteration for anything »

Transliterate from Chinese, Russian, whatever, to any writing script

#### True alphabetic sorting in any language »

AlphabeticSort just does the right thing...

#### ASCIIfy things »

RemoveDiacritics to remove diacritical marks

#### OCR beyond English »

TextRecognize now supports 60 languages

### Geo

#### Driving distances »

Use TravelDistance to find actual driving distances, not just geodesic distances

#### Historical country maps »

Sequences of border maps for the histories of 1,000+ countries

#### Zoomable, pannable maps »

DynamicGeoGraphics makes interactive maps

#### Satellite images »

Tiles for up to zoom level 11 for Earth (as well as for the Moon, Mars, Pluto, etc.)

#### Geometry from terrain »

Full 3D geometry from GeoElevationData

### Data Gets Bigger and Bigger

#### Dated entities and properties »

Ask for values at particular dates using Dated

#### Define your own entities »

EntityStore to let you specify your own entities, properties and values

#### Wolfram Data Repository »

Core support for instantly accessible large-scale external data

#### Implicit entities »

The largest five countries, the densest metal, etc., all symbolically specified

#### Accumulate data from anywhere in the Wolfram Data Drop »

Use a dozen different methods to get data into databins in the cloud

#### New automatic layout for Dataset »

Any shape, any depth, automatically formatted—with scrolling and drilldown

### Audio!

#### Serious large-scale audio »

Support for processing hour-long audio files, visualizing them, etc.

#### Audio is to Sound as Image is to Graphics »

Directly manipulate audio displayed in notebooks

### Still More with Images

#### Images can be much bigger »

DynamicImage lets you keep an image on disk, and zoom and pan in it

#### Lots of computational photography »

ColorBalance to correct colors, etc.

#### Stylish highlighting in images »

Static and dynamic highlighting of points, curves and areas in images

#### From images to computable meshes... »

ImageMesh converts from any binary 2D or 3D image to the corresponding mesh region

Automatically extract dates, times, etc. from Exif, XMP, IPTC

### Machine Learning & AI

#### What is that a picture of? »

ImageIdentify etc. to recognize 10,000 kinds of objects

#### Say what features to look at »

FeatureExtractor option to specify how to extract features for Classify etc.

#### Symbolic neural networks »

Construct and train full neural networks using CPUs and GPUs

#### Clustering for anything »

Machine learning-based clustering for data, images, text, etc., making trees, dendrograms, etc.

### More in the Knowledgebase

#### Wikipedia is built in »

Immediately pull in material from Wikipedia articles

#### Know thyself's functions »

WolframLanguageData for detailed information about the functions of the Wolfram Language

#### Food, oceans, radiation protection, mortality, Pokémon... »

Many more domains of knowledge covered

#### Weather forecasts »

Forecasts as well as historical weather data

### Extending the Systems-Level Infrastructure

#### Publish-subscribe comes to the Wolfram Language »

Flexible channel framework for communication between anything, into notebooks, etc.

#### Submit to the cloud for asynchronous computation »

CloudSubmit to submit anything

#### Parallelize over directories of files »

FileSystemMap to map operations over nested directories

#### Persistent local object storage »

LocalObject, LocalCache, etc. to store, cache, etc. anything locally

#### Raw binary byte arrays »

Store data directly in binary form

#### WolframScript for everything from the shell »

Call code, APIs and functions with local or cloud kernels right from the command line

#### Persistent mutable expressions in the cloud »

CloudExpression to put expressions into the cloud that can be modified anytime

#### Connect to sockets »

Communicate through sockets just like through files

#### Cloud access through permissions keys »

Set up cloud objects so anyone with a key can access them

### Web Interaction

#### Much fancier web forms »

Multipage, extensible, recyclable, etc. forms, with more kinds of controls

#### Handle your own URL dispatching »

URLDispatcher lets you symbolically define rules for different URLs

#### Get it asynchronously

URLSubmit and HandlerFunctions for asynchronous URL reading

#### Web deployed back-and-forth conversations »

Use AskFunction to set up arbitrary logic for user interactions ("interviews", "wizards"...)

#### The whole cookie store »

Detailed symbolic handling of getting, setting and storing cookies

#### APIs by mail »

Automatically execute code based on the receipt of email

#### Symbolic HTTP requests »

HTTPRequest to represent any HTTP request in a convenient symbolic form