Summary of New Features in 12
A list of key new features since 11, including features experimental in 12.
Core Language
open all close allObject Information
Information (updated) — broad support for extracting information about objects
Functional Programming
SubsetMap — apply a function "in place" to subsets of elements
TakeLargest (updated) — new notation to report multiple properties of the results
TakeList — take a succession of sublists from a list
Keys, Values (updated) — support for wrapping results with a function before evaluation
AllowedHeads — specify heads to consider in operations
Expression Construction
Construct — construct an expression from its head and arguments
Sequence Operations
SequenceReplace — replace sequences that match a pattern
SequenceSplit — split at sequences that match a pattern
FindRepeat — find a repeating block in a sequence
Sorting & Ordering »
ReverseSort — sort in reverse order
NumericalSort — sort according to numerical value
NumericalOrder — ordering function for numerical values
Sort (updated) — support for extended ordering specifications
NearestTo — operator form for Nearest
Date & Time
DateObject (updated) — support granular dates and no time zone
DateOverlapsQ — test whether two calendar dates overlap
DateWithinQ — test whether a calendar date is within another date
CurrentDate ▪ NextDate ▪ PreviousDate
TimeObject (updated) — improved consistency with DateObject
FromAbsoluteTime — conversion from absolute time
Computational Systems
CellularAutomaton (updated) — new forms of rule specification
RulePlot (updated) — new formats and rule types
Core Visualization
General Improvements
PlotMarkers (updated) — now follow the plot style
StreamMarkers, VectorMarkers — general shape of streamlines, vectors
Histogram, Histogram3D, ... (updated) — optimized display for discrete data
Stacked Plots
StackedListPlot — plot values stacked on top of each other
StackedDateListPlot — plot time series stacked on top of each other
PlotLayout (updated) — option for stacked and percentile layout for many functions
These functions all support stacked and percentile multi-data layouts:
ListPlot ▪ ListLinePlot ▪ ListStepPlot ▪ ListLogPlot ▪ ListLogLogPlot ▪ ListLogLinearPlot ▪ DateListPlot ▪ DateListStepPlot ▪ DateListLogPlot
Multipanel Plots
PlotLayout (updated) — layout option extended to allow multiple plots in a grid
These functions have been updated to support multipanel layouts:
ListPlot ▪ ListLinePlot ▪ ListStepPlot ▪ ListLogPlot ▪ ListLogLogPlot ▪ ListLogLinearPlot ▪ DateListPlot ▪ DateListStepPlot ▪ DateListLogPlot
Scaled Plots
ScalingFunctions (updated) — many plots now support scaling for enhanced visualization range
These functions all received support for scaling in Version 12:
Plot3D ▪ ContourPlot ▪ DensityPlot ▪ ListPlot3D ▪ ListContourPlot ▪ ListDensityPlot ▪ ListPointPlot3D ▪ DiscretePlot ▪ DiscretePlot3D
Uncertainty Plots
IntervalMarkers — option for how to display uncertainty intervals
IntervalMarkersStyle — option for how to style uncertainty intervals
These functions have been updated to display uncertainty visualizations:
ListPlot ▪ ListLinePlot ▪ ListStepPlot ▪ ListLogPlot ▪ ListLogLogPlot ▪ ListLogLinearPlot ▪ DateListPlot ▪ DateListStepPlot ▪ DateListLogPlot
Automatic Labeling of Features
Callout, Labeled (updated) — label wrapper now supported in many functions
LabelingSize — option that controls size used for labels
LabelVisibility — option that controls priority of labels to display
These functions all received support for automatic labeling of features in Version 12:
Plot3D ▪ ListPlot3D ▪ ParametricPlot ▪ ParametricPlot3D ▪ PolarPlot ▪ ListPolarPlot ▪ RevolutionPlot3D ▪ SphericalPlot3D ▪ DiscretePlot ▪ DiscretePlot3D ▪ RegionPlot ▪ DensityPlot ▪ ListDensityPlot ▪ ListPointPlot3D
Symbolic Graphics Language
VertexTextureCoordinates (updated) — automatic mapping of textures onto polygons
Domain-Specific Visualization
Machine Learning Visualization »
FeatureSpacePlot — visualize feature vectors for numerical, textual, image, etc. data
FeatureSpacePlot3D — visualize feature vectors in 3D
Word Visualization
WordCloud (updated) — new options for processing and selection of words
PreprocessingRules ▪ WordSelectionFunction
Anatomical Visualization »
AnatomyPlot3D (updated) — support for 20+ plot themes
AnatomySkinStyle (renamed) — option for specifying skin styles
AnatomyStyling (renamed) — directive for specifying styles of anatomical parts
Complex Visualization »
ComplexPlot — plot a complex function over a complex domain
ComplexPlot3D — plot a complex function in 3D over a complex domain
AbsArgPlot — plot the abs and arg of a complex function over a real domain
ReImPlot — plot the real and imaginary parts of a complex function over a real domain
ComplexListPlot ▪ ReImLabels ▪ ReImStyle
Chemistry Visualization »
MoleculePlot — 2D molecular structure diagram with automatic layout
MoleculePlot3D — 3D molecular rendering allowing automatically generated coordinates
Geographic Visualization »
GeoBubbleChart — bubble charts over geographic regions
GeoSmoothHistogram — create smooth intensities of locations on a map
GeoVectorPlot — plot geo vectors as individual arrows on a map
GeoStreamPlot — plot geo vectors as extended streams on a map
GeoMarker (updated) — extended to display geo vectors in maps
Machine Learning »
Supervised Learning
Classify, Predict (updated) — improved automation, methods and monitoring
ClassifierMeasurements (updated) — new properties and baseline measures and more
TimeGoal ▪ FeatureTypes (updated) ▪ RandomSeeding ▪ DistanceMatrix (updated)
Supervised Learning from Sequences
SequencePredict — predict subsequent elements from sequence examples
SequencePredictorFunction — symbolic representation of a sequence predictor
Supervised Learning from Actions
ActiveClassification — learn a classifier by actively probing a system
ActivePrediction — learn a predictor by actively probing a system
ActiveClassificationObject ▪ ActivePredictionObject
Unsupervised Learning with Feature Vectors
FeatureNearest — find objects nearest in feature space
FeatureSpacePlot — plot dimension-reduced feature vectors in 2D
FeatureSpacePlot3D — plot dimension-reduced feature vectors in 3D
DimensionReduction (updated) ▪ ClusteringComponents (updated)
Unsupervised Learning with Distributions
LearnDistribution — learn a probability distribution from data
SynthesizeMissingValues — replace missing values in data by generated values
FindAnomalies — find anomalous examples in data
LearnedDistribution ▪ DeleteAnomalies ▪ AnomalyDetection ▪ AnomalyDetectorFunction ▪ RarerProbability ▪ MissingValuePattern
Machine Learning for Natural Language
FindTextualAnswer — try to find the part of a text that answers a question
TextContents — generate a dataset of identified elements in text
TextCases (updated) — new neural network engine
FeatureExtract (updated) — now has word vector feature extractor
Machine Learning for Images
ImageCases — find subimages identified as being an instance of an object
ImageContainsQ ▪ ImageContents ▪ ImagePosition ▪ ImageBoundingBoxes
FindFaces (updated) — improved face detection
FacialFeatures — extract facial characteristics such as age, emotion, landmarks, etc.
ImageRestyle — restyle one image to follow another
Machine Learning for Audio
SpeechRecognize — perform speech-to-text from audio
AudioIdentify — identify what an audio signal is a recording of
FeatureExtract, FeatureSpacePlot (updated) — now has audio feature extractor
Neural Networks »
Neural Net Models
NetModel — complete pre-trained net models
NetChain, NetGraph (updated) — improved network visualization
NetMeasurements — measure performance metrics after training
NetInsertSharedArrays ▪ NetStateObject ▪ NetEvaluationMode ▪ NetPortGradient
Neural Network Modifications
NetTake — take layers from a chain
NetJoin — join two chains
NetFlatten ▪ NetAppend ▪ NetPrepend ▪ NetDrop ▪ NetInsert ▪ NetDelete ▪ NetReplace ▪ NetReplacePart ▪ NetRename
Training Neural Networks
NetTrain (updated) — multi-GPU support, more properties, etc.
NetTrainResultsObject — capture history of a training session
TrainingProgressCheckpointing ▪ TrainingProgressFunction ▪ TrainingProgressReporting ▪ TrainingProgressMeasurements ▪ TrainingStoppingCriterion ▪ LearningRate ▪ LearningRateMultipliers
Encoding and Decoding Data
NetEncoder (updated) — new encoders for audio, multi-language and 3D images
NetDecoder (updated) — custom decoding with "Function"
Recurrent & Sequence-Handling Layers
BasicRecurrentLayer ▪ GatedRecurrentLayer ▪ LongShortTermMemoryLayer
SequenceLastLayer ▪ SequenceMostLayer ▪ SequenceRestLayer ▪ SequenceReverseLayer ▪ UnitVectorLayer
Functional Programming of Neural Nets
NetMapOperator — define a network that maps over a sequence
NetFoldOperator — define a recurrent network that folds in elements of a sequence
NetMapThreadOperator — map a subnetwork over multiple sequences
NetNestOperator ▪ NetPairEmbeddingOperator ▪ NetBidirectionalOperator
Structure Manipulation Layers
PartLayer ▪ PrependLayer ▪ AppendLayer ▪ ExtractLayer ▪ PaddingLayer ▪ TransposeLayer ▪ ResizeLayer ▪ ReplicateLayer ▪ AggregationLayer
Basic Layers
ConvolutionLayer, PoolingLayer (updated) — variable-length and 3D inputs
LinearLayer ▪ SoftmaxLayer (updated)
Elementwise Computation Layers
ThreadingLayer — thread a function over two arrays
Array Operation Layers
Attention & Loss Layers
AttentionLayer — attention layer over sequences, including transformer architecture
CTCLossLayer — layer to compute the CTC loss for sequences
ContrastiveLossLayer ▪ SpatialTransformationLayer
Regularization Layers
NormalizationLayer — perform normalization and rescaling over arbitrary axes
ImageAugmentationLayer ▪ LocalResponseNormalizationLayer ▪ DropoutLayer ▪ NONBREAKINGSPACE(updated) NONBREAKINGSPACE
Reinforcement Learning Environments
"OpenAIGym" — interface to the OpenAI Gym
"SimulatedCartPole" — interface to a simulated inverted pendulum
Continuous and Discrete Calculus
Integrate, Sum, Product (updated) — now can generate constants of integration etc.
C — the constants of integration and summation etc. now typeset as
Continuous Calculus »
Limit () (updated) — support for undirected, nested and multivariate function limits
MinLimit (), MaxLimit () — new lower and upper function limits
, , — prefix operators for limits
D (updated) — symbolic-order derivatives, indexed formal differentiation, etc.
Integrate (updated) — improved integration of elementary functions
DSolveValue (updated) — improved scope and performance for ODEs
Discrete Calculus »
DiscreteLimit () — limits of sequences, e.g. recurrence and number theory
DiscreteMinLimit (), DiscreteMaxLimit () — lower and upper sequence limits
Sum (updated) — improved coverage with many additional sums
RSolveValue (updated) — can now directly give limiting values
Integral Transforms »
HankelTransform, InverseHankelTransform — Hankel integral transform
RadonTransform, InverseRadonTransform — Radon integral transform
These transforms all received general support for periodic functions in Version 12:
FourierTransform ▪ FourierSinTransform ▪ FourierCosTransform ▪ LaplaceTransform
Summation Transforms »
These transforms all received general support for periodic sequences in Version 12:
FourierSequenceTransform ▪ ZTransform ▪ GeneratingFunction ▪ ExponentialGeneratingFunction
Asymptotic Computation »
Asymptotic Relations »
AsymptoticLess — give conditions for or when
AsymptoticLessEqual — give conditions for or when
AsymptoticEquivalent — give conditions for when
AsymptoticGreater ▪ AsymptoticGreaterEqual ▪ AsymptoticEqual
Continuous Calculus Solvers »
AsymptoticIntegrate — asymptotic approximation to an integral
AsymptoticDSolveValue — asymptotic approximation to a differential equation
Discrete Calculus Solvers »
AsymptoticSum — asymptotic approximation to a sum
AsymptoticRSolveValue — asymptotic approximation to a difference equation
Algebra Solvers »
AsymptoticSolve — asymptotic approximation to algebraic & transcendental equations
Mathematical Functions »
Real Functions
RealAbs — real argument abs, which can be differentiated
RealSign — real argument sign, which can be differentiated
Elementary & Special Functions »
Erf (updated) — substantially expanded examples for 250 special functions
Gamma ▪ BesselJ ▪ FresnelS ▪ EllipticK ▪ ...
Function Properties
FunctionDomain (updated) — improved coverage and performance
FunctionRange (updated) — improved coverage and performance
Improved Elementary Functions »
Sin (updated) — improved performance for intermediate precision (100–10,000 digits)
Exp ▪ Log ▪ ArcSin ▪ Cosh ▪ ...
Improved Elliptic Functions »
These periodic functions received robust numerical evaluation schemes in Version 12:
EllipticExp ▪ EllipticLog ▪ WeierstrassP ▪ JacobiSN ▪ JacobiSC ▪ ...
New Elliptic Functions »
WeierstrassHalfPeriodW1 — the half-period for Weierstrass elliptic functions
WeierstrassHalfPeriodW2 ▪ WeierstrassHalfPeriodW3 ▪ WeierstrassInvariantG2 ▪ WeierstrassInvariantG3 ▪ WeierstrassE1 ▪ WeierstrassE2 ▪ WeierstrassE3 ▪ WeierstrassEta1 ▪ WeierstrassEta2 ▪ WeierstrassEta3
Mathematical Sequences
DeBruijnSequence — generate de Bruijn sequences
Algebraic Computation
Manipulating Equations »
AddSides — add to both sides of equation or inequality
MultiplySides — multiply both sides of equation or inequality
SubtractSides ▪ DivideSides ▪ ApplySides
Solving Equations »
AsymptoticSolve — find asymptotic approximations to equations
Solve, Reduce (updated) — improved solving of sparse or structured systems
Minimize (updated) — improved univariate optimization over the reals and integers
CylindricalDecomposition (updated) — now compute interior, exterior, boundary, etc.
Root (updated) — now has compact informative typesetting
Symbolic Domains
PositiveReals ▪ NegativeReals ▪ NonNegativeReals ▪ NonPositiveReals
PositiveRationals ▪ NegativeRationals ▪ NonNegativeRationals ▪ NonPositiveRationals
PositiveIntegers ▪ NegativeIntegers ▪ NonNegativeIntegers ▪ NonPositiveIntegers
Theorem Proving »
FindEquationalProof — find a proof of an equational logic theorem from axioms
ProofObject — object representing a generated proof
AxiomaticTheory — curated axioms, theorems, etc. for standard theories
Number Theory »
ModularInverse — compute inverses in modular arithmetic
PrimitivePolynomialQ — test whether a univariate polynomial is primitive
Matrix Predicates »
DiagonalMatrixQ — test whether a matrix is diagonal
UpperTriangularMatrixQ ▪ LowerTriangularMatrixQ
Direct Access to Low-Level Numerical Linear Algebra »
Numerical Computation
Uncertainty
Around — number or quantity x±δ with symmetric or asymmetric uncertainty
VectorAround ▪ AroundReplace ▪ MeanAround
Quantities & Units
NondimensionalizationTransform — transform equations by removing dimensions
IndependentPhysicalQuantity — represent an independent physical quantity
IndependentUnitDimension — represent an independent unit dimension
Numerical Display Forms
DecimalForm — print approximate real numbers without scientific notation
PercentForm ▪ MixedFractionParts ▪ NumeratorDenominator
Optimized Numeric Arrays
NumericArray — construct a compact representation of a numeric array
NumericArrayQ ▪ NumericArrayType
Nonlinear Finite Elements »
NDSolve (updated) — can now solve nonlinear PDEs over arbitrary domains using FEM
InitialSeeding — initial seeding for nonlinear boundary value problems
N-Body Simulation
NBodySimulation — simulation of idealized -body systems
NBodySimulationData — representation of an -body simulation
Numerical Optimization »
Convex Optimization Solvers »
LinearOptimization — minimize
LinearFractionalOptimization — minimize
QuadraticOptimization — minimize
SemidefiniteOptimization — minimize
SecondOrderConeOptimization — minimize
ConicOptimization — minimize
General Optimization Solvers »
Numeric solvers now use vector variables and transform to convex solvers in Version 12:
FindMinimum ▪ FindMaximum ▪ FindMinValue ▪ FindMaxValue ▪ FindArgMin ▪ FindArgMax ▪ NMinimize ▪ NMaximize ▪ NMinValue ▪ NMaxValue ▪ NArgMin ▪ NArgMax
Symbolic solvers use vector variables and vector inequalities in version 12:
Minimize ▪ Maximize ▪ MinValue ▪ MaxValue ▪ ArgMin ▪ ArgMax
Regularization in Fitting
Fit, FindFit (updated) — now supports regularization (LASSO, ridge regression, ...)
Vector Inequality Constraints
VectorGreaterEqual — partial ordering for vectors and matrices
Geometric Computation »
Region — representation and automatic visualization of regions
Mesh-Based Regions
MeshRegion, BoundaryMeshRegion (updated) — attached cells with direct actions
PlotTheme (updated) — new themes for mesh-based regions
Fractal Regions
SierpinskiMesh ▪ MengerMesh ▪ CantorMesh
HilbertCurve ▪ PeanoCurve ▪ SierpinskiCurve ▪ KochCurve
Region Converters
RegionImage — generate a 2D or 3D image from a region
DiscretizeGraphics (updated) — can now discretize all graphics primitives
DiscretizeRegion (updated) — improved discretization of parametric regions
Boolean Operations »
RegionIntersection (updated) — greatly improved support for Boolean operations
RegionUnion ▪ RegionDifference ▪ BooleanRegion ▪ ...
Measures of Regions
Perimeter — length of the boundary of a 2D solid
SurfaceArea — area of the boundary of a 3D solid
ArcLength, Area, Volume (updated) — options for parameters and numerical evaluation
Spatial Relations
RegionEqual — test whether two regions are equal
RegionWithin — test whether a region is within another region
RegionDisjoint — test whether two regions are disjoint
Geometric Angles
PlanarAngle — angle between two half-lines
DihedralAngle — angle between two half-planes
SolidAngle — the general higher-dimensional angle of a cone
3D Coordinate Geometry
AnglePath3D — path formed by a sequence of translations and 3D rotations
SpherePoints — give points approximating uniform distribution on a sphere
Polygonal and Polyhedral Regions
Polygons with Holes »
Polygon (updated) — polygons are generalized to polygons with holes
CanonicalizePolygon — generate a canonical representation of polygons
CrossingPolygon — construct a general polygon based on ray-crossing count
WindingPolygon — construct a general polygon based on winding count
PolygonCoordinates ▪ OuterPolygon ▪ InnerPolygon ▪ CrossingCount ▪ WindingCount
Polygon Classes & Properties »
RandomPolygon — generate random polygons of different classes
PolygonDecomposition — decompose polygons into simple, convex, etc. polygons
SimplePolygonQ ▪ ConvexPolygonQ ▪ PolygonAngle
General Polyhedra Allowing Voids »
Polyhedron — polyhedron graphics and geometry primitives, including voids
CanonicalizePolyhedron — generate a canonical representation of polyhedra
PolyhedronCoordinates ▪ OuterPolyhedron ▪ InnerPolyhedron ▪ CrossingCount ▪ WindingCount
Polyhedron Classes & Properties »
RandomPolyhedron — generate random polygons of different classes
PolyhedronDecomposition — decompose a polyhedron into simple, convex, etc. polyhedra
EulerCharacteristic — give Euler invariant characteristic of a polyhedron
PolyhedronGenus — gives the genus or tunnels in a polyhedron
SimplePolyhedronQ ▪ ConvexPolyhedronQ ▪ PolyhedronAngle
Special Polyhedra
Tetrahedron (updated) — regular tetrahedron
Cube — regular cube
Dodecahedron — regular dodecahedron
Icosahedron — regular icosahedron
Octahedron — regular octahedron
UniformPolyhedron — all uniform polyhedra
Polyhedral Operations
DualPolyhedron — dual polyhedron
BeveledPolyhedron — beveled polyhedron by beveling each edge
TruncatedPolyhedron — truncated polyhedron by truncating vertices
AugmentedPolyhedron — augmented polyhedron by augmenting pyramids on faces
SnubPolyhedron — snub polyhedron by partial truncation and beveling
Synthetic Geometry »
GeometricScene — symbolic representation of a geometric scene defined by constraints
RandomInstance — find and display a random instance of a geometric scene
FindGeometricConjectures — find conjectures about a geometric scene
Assertions in Geometric Scenes
GeometricAssertion — assert geometric properties or relations (convex, parallel, congruent, ...)
UnconstrainedParameters — option defining unconstrained points or quantities in a scene
Triangle Functions
TriangleCenter — orthocenter, circumcenter, incenter, ... of triangles
TriangleConstruct — incircle, circumcircle, altitude, ... of triangles
TriangleMeasurement — circumradius, height, ... of triangles
Objects Created by Geometric Constructions
CircleThrough — circle through specified points
Midpoint — midpoint of a line
PerpendicularBisector — infinite perpendicular at the midpoint of a line
AngleBisector — infinite line bisecting an angle
Probability & Statistics »
Descriptive Statistics »
Many descriptive statistics have improved performance or support for distributions:
Median ▪ Quantile ▪ Quartiles ▪ MedianDeviation ▪ TrimmedMean ▪ Variance ▪ ...
Spatial Descriptive Statistics
SpatialMedian — a robust spatial location measure
CentralFeature — the most central of a list of elements
Robust Descriptive Statistics »
WinsorizedMean — robust location statistics
TrimmedMean ▪ BiweightLocation
TrimmedVariance — robust dispersion statistics
WinsorizedVariance ▪ BiweightMidvariance ▪ QnDispersion ▪ SnDispersion
Matrix Distributions »
Matrix distributions now support PDF, estimation from data and other properties:
WishartMatrixDistribution ▪ GaussianOrthogonalMatrixDistribution ▪ MatrixNormalDistribution ▪ MatrixTDistribution ▪ ...
Distributions »
HjorthDistribution — distribution used to model bathtub hazards in reliability
ParetoPickandsDistribution — a generalization of Pareto's distribution
Hypothesis Tests »
These hypothesis tests now have the added capability of comparing k datasets:
Text & Language Processing
TextCases (updated) — greatly expanded coverage of types of elements and entities
TextContents — generate a dataset of identified elements in text
VerifyInterpretation — option for TextCases etc. to check results with Interpreter
Natural Language Interpreter Types
"ColorSet" ▪ "ComputedColorSet" ▪ "ComputedLaser" ▪ "ComputedLightColor" ▪ "Laser" ▪ "LaserClass" ▪ "LightColor"
Word Properties
Text Searching
AddToSearchIndex — add content to an existing search index
VerifyInterpretation — option for TextCases etc. to check results with Interpreter
Graphs & Networks »
Graph Visualization
GraphPlot (updated) — new look, design and capabilities
GraphPlot3D ▪ LayeredGraphPlot ▪ TreePlot
GraphLayout (updated) — additional forced directed embedding "GravityEmbedding"
PlotTheme (updated) — new "IndexLabels" theme for graphs
Graph Property Inheritance
The following operations now support inheritance of properties:
Subgraph ▪ NeighborhoodGraph ▪ EdgeAdd ▪ EdgeDelete ▪ VertexAdd ▪ VertexDelete ▪ EdgeContract ▪ VertexContract ▪ VertexReplace ▪ SimpleGraph ▪ ReverseGraph ▪ IndexGraph ▪ ConnectedGraphComponents ▪ WeaklyConnectedGraphComponents ▪ LineGraph ▪ DirectedGraph ▪ UndirectedGraph ▪ GraphIntersection ▪ GraphUnion ▪ GraphDisjointUnion ▪ GraphDifference ▪ GraphComplement ▪ GraphPower ▪ BooleanGraph ▪ FindSpanningTree ▪ TransitiveClosureGraph ▪ TransitiveReductionGraph
Extended Capabilities
Graph (updated) — added support for graph entities
GraphData (updated) — many new properties of graphs
EdgeWeightedGraphQ, VertexWeightedGraphQ — test whether a graph is edge or vertex weighted
Image Computation »
Image, Image3D (updated) — support for arithmetic and statistical operations
Image Generation
ImageRestyle — transfer a style from one image to another
RegionImage — convert regions to 2D and 3D images
CurrentImage (updated) — significant increases in speed and robustness
CurrentScreenImage ▪ CurrentNotebookImage
Computer Vision »
ImageCases — find subimages identified as being an instance of an object
ImageContainsQ ▪ ImageContents ▪ ImagePosition ▪ ImageBoundingBoxes
FindFaces (updated) — improved face detection
FacialFeatures — extract facial characteristics such as age, emotion, landmarks, etc.
ImageGraphics — convert bitmap images to symbolic vector graphics
TextRecognize (updated) — property extraction, region of interest, etc.
Computational Microscopy »
BrightnessEqualize — estimate and equalize uneven image illumination
Image3DProjection — compute a projection of a 3D image onto a plane
Color Processing »
ImageRecolor — recolor regions of an image
ColorsNear — use to represent a region around a color
ColorDetect ▪ FindMatchingColor ▪ ColorQuantize (updated) ▪ ChromaticityPlot3D (updated)
Image Pyramids
ImagePyramid — construct a multi-resolution image pyramid
InverseImagePyramid — reconstruct the image from an image pyramid
ImagePyramidApply — apply a function to images of an image pyramid
Feature Extraction »
ImageKeypoints, FindGeometricTransform, ... (updated) — new keypoint types
Image Processing & Analysis
ComponentMeasurements (updated) — contour and contour hierarchy of a component
Masking (updated) — support for masking using symbolic region objects
HighlightImage (updated) ▪ ImageTrim (updated) ▪ ImageEffect (updated)
Audio Computation »
Audio (updated) — support for stereo playback and improved device handling
Audio Generation
AudioCapture — record an audio signal from a connected input device
SpeechSynthesize — synthesize speech audio from text or formulas
WebAudioSearch — search for and download audio tracks from external providers
$AudioInputDevices ▪ $DefaultAudioInputDevice ▪ AudioInputDevice ▪ $VoiceStyles ▪ VoiceStyleData
Audio Recognition & Identification
SpeechRecognize — perform speech-to-text from audio
AudioIdentify — identify what an audio signal is a recording of
PitchRecognize — recognize the pitch of an audio signal
Programmatic Playback & Recording
AudioStream — audio stream object for real-time processing
AudioPlay — programmatically control audio playback
AudioRecord — programmatically control audio recording
AudioStop ▪ AudioPause ▪ AudioStreams ▪ RemoveAudioStream
Machine Learning Integration »
FeatureExtract, FeatureSpacePlot — audio feature extractor
NetEncoder — encode audio signals for use in a neural network
Classify ▪ NetModel ▪ NetTrain ▪ NetGraph ▪ ...
Audio Processing »
AudioLoudness — compute standard loudness measures
AudioDistance — various metrics for computing a distance measure for audio signals
AudioReplace — replace an audio interval with a new audio signal
AudioInsert — insert an audio signal into an existing one
AudioBlockMap (updated) — major speed improvement, support for named arguments
AudioLocalMeasurements ▪ AudioIntervals
Spectral Analysis
AudioSpectralMap — apply a filter to the short-time Fourier transform of an audio signal
AudioSpectralTransformation — perform a time-frequency transformation
ShortTimeFourier — compute short-time Fourier transform (STFT)
Cepstrogram — plot the cepstrogram of a signal or an audio object
InverseSpectrogram ▪ CepstrumArray ▪ CepstrogramArray ▪ InverseShortTimeFourier ▪ ShortTimeFourierData
Audio Annotations
AudioAnnotate — add annotations to an audio object
Knowledge Representation & Interpretation »
Entity Framework
EntityRegister, EntityUnregister — register, unregister entities in an entity store
EntityStores — list of entity stores
EntityPrefetch — fetch cacheable entities of a specified type
Input Interpreters
Interpreter (updated) — improved performance of entity interpretation
RectangularRepeatingElement ▪ SquareRepeatingElement
"AnatomicalFunctionalConcept" ▪ "CognitiveTask" ▪ "Neuron" ▪ ...
Language Information
WolframLanguageData (updated) — new related guide and documentation link properties
Engineering & Physics Data »
PsychrometricPropertyData — thermodynamic properties of moist air
SpectralLineData — properties of atomic levels and transitions
Geographic Data »
GeoElevationData (updated) — improved elevation data, with four more levels of zoom
Knowledgebase Content »
Geographic Entities »
Country AdministrativeDivision City ZIPCode ...
Ocean Island Mountain River Desert ...
Airport Park AmusementPark Stadium ...
Bridge Building Tunnel Dam HistoricalSite ...
University SchoolDistrict Museum LibrarySystem ...
WeatherStation AstronomicalObservatory ParticleAccelerator NuclearReactor ...
Cultural and Historical Entities »
Person PersonTitle GivenName Surname
HistoricalCountry HistoricalEvent HistoricalSite ...
Movie MusicAct MusicAlbum MusicWork ...
Book Artwork Periodical FictionalCharacter
BroadcastStation BroadcastStationClassification
Museum LibraryBranch LibrarySystem
MusicalInstrument BoardGame PopularCurve
YogaPose YogaPosition YogaSequence PilatesExercise ...
Life Science– and Medical-Related Entities »
Species Plant DogBreed CatBreed Dinosaur
AnatomicalStructure AnimalAnatomicalStructure ...
Finance-Related Entities »
Financial Company CurrencyDenomination
Astronomical Entities »
Planet PlanetaryMoon Comet SolarSystemFeature ...
Star Galaxy Nebula Supernova Constellation ...
Satellite DeepSpaceProbe MannedSpaceMission ...
Earth Science–Related Entities »
WeatherStation TropicalStorm Cloud AtmosphericLayer
GeologicalLayer GeologicalPeriod Mineral FamousGem
Transportation-Related Entities »
Engineering-Related Entities »
Building Bridge Tunnel Dam Mine
FrequencyAllocation BroadcastStation MeasurementDevice
Linguistic-Related Entities »
Language Word Alphabet WritingScript ...
Mathematical Entities »
FiniteGroup Knot Polyhedron Graph Lattice
Solid Surface Lamina PlaneCurve SpaceCurve
LatticeSystem PeriodicTiling NonperiodicTiling
CrystalFamily CrystalSystem CrystallographicSpaceGroup
MathematicalFunction IntegerSequence ContinuedFraction
FunctionSpace TopologicalSpaceType ComputationalComplexityClass
Geographic Computation »
GeoImage — satellite image of a given region
GeoGraphics (updated) — extended control over projected plot ranges
GeoGridRange ▪ GeoGridRangePadding ▪ GeoResolution ▪ GeoArraySize
Geographic Data
GeoElevationData (updated) — transform elevation data under geo projections
TideData — compute tides for all standard tide stations
Geographic Positions
GeoAntipode — antipodal position
RandomGeoPosition — generate pseudorandom geo positions in a region
Projection Scale & Distortion
GeoGridUnitDistance — local geo distance corresponding to a unit of map distance
GeoGridUnitArea — local geo area corresponding to a unit of map area
GeoGridDirectionDifference — local angular change under projection
Geodetic Vectors & Vector Frames
GeoVector — geodetic vector specified by modulus and direction
GeoVectorENU — geodetic vector specified by east, north and up
GeoVectorXYZ — geodetic vector specified in Cartesian geocentric coordinates
GeoGridVector — vector specified by components in the projected coordinates
Molecular Structure & Computation »
Symbolic Molecule Representation
Molecule — a molecule specified by atoms and bonds, name or SMILES string
Atom — symbolic representation of an atom in a molecule
Bond — symbolic representation of single, double, aromatic, etc. bond
Molecular Structure
MoleculeQ — test for a valid molecule
AtomList ▪ AtomCount ▪ BondList ▪ BondCount ▪ BondQ
Molecular Visualization
MoleculePlot — 2D molecular structure diagram with automatic layout
MoleculePlot3D — 3D molecular rendering allowing automatically generated coordinates
Molecular Graphs
MoleculeGraph — get an annotated graph for a molecule
ConnectedMoleculeQ — test for a single covalently bound structure
ConnectedMoleculeComponents — give a list of independent covalently bound structures
Molecular Property Computation
MoleculeValue — find structural or computed properties of molecules
MoleculeProperty — symbolic representation of a molecular property
Molecular Comparison & Substructure
MoleculeContainsQ — test whether a molecule contains a specified structure
FindMoleculeSubstructure — find where a substructure occurs in a molecule
MoleculePattern — symbolic or SMARTS pattern representing a molecular substructure
Modifying Molecules
MoleculeModify — create a new molecule by editing an existing molecule
ValenceErrorHandling — how to handle valence errors when a molecule is edited
System Modeling »
SystemModel — symbolic representation of system models
SystemModelExamples — interactive exploration of simulation-ready system models
Model Simulation »
SystemModelSimulate — simulate a model
SystemModelParametricSimulate — simulate for parameter variation, optimization, etc.
SystemModelSimulationData — simulation data for exploration and extraction
SystemModelSimulateSensitivity
Model Analytics & Transformations »
SystemModelPlot — plot simulation results
SystemModelLinearize — linearize a system model
FindSystemModelEquilibrium ▪ SystemModelReliability ▪ ...
Model Creation & Modification »
CreateSystemModel — create models from differential and algebraic equations
ConnectSystemModelComponents — create models by connecting components
SystemModels — list available model components
CreateDataSystemModel ▪ SetSystemModel ▪ ...
Graphical System Modeling
SystemModeler — switch to a graphical environment for modeling and simulation
Blockchains & Cryptocurrency »
Blockchain Analytics
BlockchainData — get current information about a blockchain (Bitcoin, Ethereum, ...)
BlockchainBlockData — get information about a particular block
BlockchainTransactionData — get information about a transaction
BlockchainBase ▪ $BlockchainBase
Storage on Wolfram Blockchains
BlockchainPut — put data into a Wolfram blockchain
BlockchainGet — get data from a Wolfram blockchain
Blockchain Transactions
BlockchainTransaction — symbolic representation of a blockchain transaction
BlockchainKeyEncode — encode a key to get an address, WIF, etc.
BlockchainTransactionSign — use a private key to sign a blockchain transaction
BlockchainTransactionSubmit — submit a transaction for inclusion on a blockchain
BlockchainAddressData ▪ BlockchainContractValue ▪ BlockchainTokenData
Cryptography »
Hash (updated) — additional hash code types
PublicKey, PrivateKey (updated) — support for elliptic curves
GenerateSymmetricKey (updated) — support for DerivedKey
GenerateAsymmetricKeyPair (updated) — support for elliptic curves
Key Derivation
GenerateDerivedKey — derive a key from a password
VerifyDerivedKey — verify a password from a derived key
DerivedKey — representation of a derived key
Digital Signatures
GenerateDigitalSignature — generate a digital signature using a private key
VerifyDigitalSignature — verify a digital signature using a public key
DigitalSignature — symbolic representation of a digital signature
Notebook Interface
macOS notebook interface updated to utilize the 64-bit Cocoa API
Linux notebook interface updated to fully integrate Qt 5, allowing all rendering operations to take place without an X server
Automatic display of openers for cell groups
Default persistence of In, Out labels in saved notebooks
File ▶ New ▶ Presenter Notebook… — new tool for slide show presentations
A—Z (updated) — improved font appearance
Iconize — create an iconized display form for an expression
Core System Operation
Initialization
InitializationValue — settable value to be assigned to a symbol on startup
InitializationObjects — give a list of all initialization objects
$Initialization — symbol to release and evaluate after main system initialization
Initialize — perform initialization for individual symbols or the whole system
$PreInitialization ▪ $InitializationContexts ▪ $NoValue ▪ ValuePreprocessingFunction ▪ EvaluationEnvironment
PersistenceLocation — support for Notebook as a location type
Once (updated) — support for local persistent caching
Persistent Storage
PersistentObject — symbolic representation of a persistent object
PersistenceLocation — kernel session, local system, cloud, HTTP session, etc.
PersistentObjects ▪ $PersistenceBase ▪ $PersistencePath
MergingFunction ▪ PersistenceTime ▪ ExpirationDate
Background & Scheduled Tasks
SessionSubmit — submit a task to perform asynchronously in the current kernel
LocalSubmit — submit a task to perform in a separate subkernel
CloudSubmit (updated) — submit a task to perform asynchronously in the cloud
TaskObject — general object representing a background task
TaskExecute — immediately execute an asynchronous task
TaskResume ▪ TaskSuspend ▪ TaskRemove ▪ TaskAbort ▪ TaskWait
Tasks — list all currently submitted tasks
$CurrentTask — the TaskObject of the task in which it is evaluated
ScheduledTask (updated) — control through task objects
HandlerFunctions (updated) — support for TaskObject
URLSubmit (updated) — support for TaskObject
URLDownloadSubmit — submit a URL for asynchronous download
URLResponseTime — find the time to start reading a URL
Code Compilation »
Creating Compiled Code
FunctionCompile — create a compiled version of a pure function
CompiledCodeFunction — representation of a function implemented with compiled code
Code Annotation
KernelFunction — function to be executed in the kernel rather than in compiled code
Annotation (updated) — specify arbitrary hints and annotations for code
Type Specification
Typed — define what type an object is to be taken to have
TypeSpecifier — elements used to construct type specifications
"Boolean" ▪ "UnsignedInteger32" ▪ "UnsignedInteger64" ▪ "Integer32" ▪ "Integer64" ▪ "MachineInteger" ▪ "Real64" ▪ "ComplexReal64" ▪ ...
Exporting Compiled Code
FunctionCompileExport — create an object file by compiling a pure function
FunctionCompileExportLibrary — create a shared library by compiling a pure function
FunctionCompileExportString — give a string of compiled code for a given pure function
FunctionCompileExportByteArray — give a binary form of compiled code
Compilation Options
TargetSystem — the $SystemID of the target architecture for external code
CompilerOptions — detailed options to be passed into the compilation pipeline
System & External Operations »
Success — symbolic representation of the success of an operation
BinarySerialize, BinaryDeserialize — efficient binary expression storage
External Language Interfaces
ExternalEvaluate — evaluate a command in an another programming language
ExternalFunction — direct evaluation of a function in another programming language
ExternalValue — symbol values in another programming language
StartExternalSession — start a persistent connection to an external language evaluator
ExternalSessionObject ▪ ExternalObject ▪ ExternalSessions ▪ FindExternalEvaluators ▪ RegisterExternalEvaluator ▪ UnregisterExternalEvaluator ▪ SystemInstall
Authentication
Authentication (updated) — updated handling of passwords for external sites
SecuredAuthenticationKey — symbolic representation of OAuth credentials
SecuredAuthenticationKeys — list of authentication keys for the current user
Publish-Subscribe Channel Communication
ChannelReceiverFunction — automatic responder for received messages
ChannelBrokerAction — option to specify actions on the channel broker server
RemoveChannelSubscribers — removes currently active channel subscribers
Socket & ZeroMQ Communication
SocketOpen — open a network socket (e.g. to set up a server)
SocketListen — listen on an open network socket
SocketConnect (updated) — added support for ZeroMQ
SocketReadMessage — read an entire message from a socket
SocketObject (updated) ▪ SocketListener ▪ Sockets ▪ SocketWaitNext ▪ SocketWaitAll ▪ SocketReadyQ
Files & Objects
FileSize — size of a file, as a quantity
DeleteObject — delete local, cloud, etc. objects
CopyFile (updated) — support for remote file copying
RemoteFile — symbolic representation of a file on a remote machine
$TestFileName — filename of the currently executing test file
System Information & Control
MemoryAvailable — estimate amount of free memory available
$NetworkConnected — test if your computer has an active network interface
Remote Execution
RemoteRun — run a command on a remote host, returning the exit code
RemoteRunProcess — run a command, returning detailed information
RemoteConnect ▪ RemoteConnectionObject ▪ RemoteAuthorizationCaching
User Identification & Authentication
AuthenticationDialog — open a dialog for entering username and password
$MobilePhone — give the verified mobile phone number for the current user
GenerateSecuredAuthenticationKey — OAuth authentication system
Mail & Messaging
MailServerConnect — connect to an active IMAP mail server
MailSearch — search a mailbox, giving mail in datasets etc.
MailItem — symbolic representation of a mail message, folder, etc.
MailExecute — perform operations on mail messages etc.
MailSettings — support added for incoming mail server settings
SendMail (updated) — support for HTML email and improved embedding of expressions
SendMessage (updated) — support for SMS and MMS
MailFolder ▪ MailServerConnection ▪ $IncomingMailSettings
System Processes Information
SystemProcesses — list of running processes as symbolic process objects
SystemProcessData — dataset of current running processes
Network Packet Capture
NetworkPacketCapture — interactive interface for capturing network packets
NetworkPacketRecording — record network packets for a specified time
NetworkPacketTrace — record network packets during an evaluation
$NetworkInterfaces ▪ $DefaultNetworkInterface
Byte Array Operations
ReadByteArray — read from a file or stream to give a byte array
ByteArrayToString, StringToByteArray — convert between text strings and byte arrays
BaseEncode, BaseDecode — convert between Base64 strings and byte arrays
Controlling Web Browsers
WebExecute — execute commands in a web browser
WebImage — capture a web browser page
StartWebSession — start a new web session
WebSessionObject ▪ WebSessions ▪ $CurrentWebSession ▪ WebElementObject ▪ WebWindowObject
File Operations
CopyFile (updated) — support for remote file copying
RemoteFile — symbolic representation of a file on a remote machine
$TestFileName — file name of the currently executing test file
Import & Export »
FileConvert — convert between compatible file formats
Export (updated) — now has various overwriting modes
ImportByteArray ▪ ExportByteArray ▪ ByteArrayFormat
Audio Formats »
"MP3", "WAV", "OggVorbis" (updated) — support for metadata
Image Formats »
"GIF", "PNG", ... (updated) — speed, quality and scope enhancements
"PNG", "GIF", "TIFF" (updated) — new or improved support for animations
Tabular & Spreadsheet Formats »
"CSV", "TSV" (updated) — better performance and stability, better partial file access
"XLS", "XLSX" (updated) — better performance and stability, better partial file access
Scientific Formats »
"FITS" (updated) — complete support for image and table data, including multi-HDU files
"HDF5" (updated) — support for structured and compound data and individual datasets
System Modeling Formats »
"MO" — export and import Modelica system models
"SMA" ▪ "SME" ▪ "FMU" ▪ "MCTT"
Machine Learning Formats
"WMLF" — Wolfram general machine learning model format
"MXNet" — MXNet model format
JSON-Related Formats »
"BSON" — JSON-like binary serialization format
"UBJSON" — Universal Binary JSON format (.ubj)
"GeoJSON" — geographic regions and features encoded in JSON
Systems & Network Formats
"Ini", "PHPIni", "JavaProperties" — system configuration files
"PCAP" ▪ "HTTPResponse" ▪ "HTTPRequest" ▪ "WARC"
External Language Expressions
"JavaScriptExpression" — JavaScript expressions
"PythonExpression" — Python expressions
Compression & Archive Formats »
"ZIP", "TAR" (updated) — support for exporting associations
"WXF" — binary-serialized Wolfram Language expressions (.wxf)
Database Integration »
Connecting to Databases
RelationalDatabase — symbolic representation of a relational database and its schema
DatabaseConnect, DatabaseDisconnect — manually connect, disconnect
DatabaseReference — reference to an external database (with authentication etc.)
Registering Database Content
EntityStore (updated) — symbolic representation of a database through an entity store
EntityFunction — pure function representation of a database expression or subquery
Representations of Transformations on Entity Classes
FilteredEntityClass — entity class filtered by a criterion
SortedEntityClass — entity class sorted by properties or functions
SampledEntityClass — entity class formed by sampling a number of entities
AggregatedEntityClass — entity class formed by aggregating entities
ExtendedEntityClass — entity class with properties added for each entity
CombinedEntityClass — entity class formed by combining properties across entity classes
Graph Stores
RDFTriple — a triple in an RDF graph
SPARQLQuery — represent a SPARQL query
SPARQLExecute — execute a query on a SPARQL endpoint
SPARQLSelect — return a list of bindings of variables to their values
SPARQLUpdate — represent a SPARQL update request
RDFStore ▪ SPARQLConstruct ▪ SPARQLAsk ▪ SPARQLAggregate
MongoDB Package
MongoConnect ▪ MongoDatabase ▪ MongoCollection ▪ ...
Resource System & Repositories »
ResourceSubmit — submit a resource for publication
$PublisherID — unique ID used for resource submissions
ResourceRegister ▪ ResourceUpdate ▪ PublisherID
Wolfram Data Repository
ResourceData (updated)— access to hundreds of Wolfram Data Repository items
Wolfram Function Repository
https://resources.wolframcloud.com/FunctionRepository — function repository home page
ResourceFunction — symbolic representation of a resource function
DefineResourceFunction — create a new resource function
File ▶ New ▶ Repository Item ▶ Function Repository Item — create a notebook for defining a function resource
External Services »
WebSearch — external service for web search
WebImageSearch — external service for web image search
TextTranslation — external service for text translation between languages
$ServiceCreditsAvailable — amount of Service Credits available
Asynchronous Access
ServiceSubmit — submit an asynchronous request to any external service
ServiceRequest — symbolic representation of a service request
Financial Data Service Connections (Wolfram Finance Platform only)
"BloombergTerminal" — access to real-time Bloomberg Terminal data (Windows only)
"BloombergDataLicense" — access to stored Bloomberg Data License data (all platforms)
"Reuters" — access to real-time Reuters data (Windows and Linux only)
Microcontroller Kit »
MicrocontrollerEmbedCode — generates, compiles and deploys code to microcontrollers
MicrocontrollerCodeData — data from the microcontroller code
Supported Models for Microcontroller Deployments
StateSpaceModel ▪ TransferFunctionModel ▪ AffineStateSpaceModel ▪ NonlinearStateSpaceModel ▪ SystemsConnectionsModel
Supported Microcontroller Deployments
MicrocontrollerVendor — supported vendors (Arduino, Adafruit, Pololu, ...)
MicrocontrollerFamily — supported families (ATmega*8, ATtiny*5, ...)
MicrocontrollerTarget — supported targets (Arduino Uno, Adafruit Trinket, ...)
Interface to Unity Game Engine »
Direct Control & Interaction
UnityOpen, UnityPlay, UnityBuild, ... — open, set play mode and build games
"Wolfram" — custom editor menu items in Unity editor
Interface Functions in Wolfram Language
UnityGameObject — represent a Unity game object
UnityScene ▪ UnityMesh ▪ UnityCamera ▪ UnityTransform ▪ ...
CreateUnityGameObject — create a Unity game object
DeleteUnityGameObject ▪ FindUnityGameObject ▪ ...
Interface Functions in Unity
WolframLanguage — evaluate Wolfram Language code in Unity
Evaluate() ▪ CloudEvaluate() ▪ Information() ▪ ...
Cloud Functions & Deployment »
Cloud Sharing
AutoCopy — always make a fresh copy of a cloud notebook or object
CloudUnshare — cancel sharing of a cloud object
Enhanced API Specifications
AllowedCloudExtraParameters — extra parameters allowed for API calls
AllowedCloudParameterExtensions — extensions to allow for parameters
User Metadata
$CloudUserID — cloud user ID of the current user
$CloudUserUUID — cloud UUID of the current user
$CloudVersion — version of the cloud
$UserURLBase ▪ $EvaluationCloudBase
Cloud Object Naming & URL Mapping
$CloudObjectNameFormat — format for naming cloud object (UUIDs, user names, etc.)
$CloudObjectURLType — base type of URL for new cloud objects (/obj, /env)
CloudObjectNameFormat ▪ CloudObjectURLType
Procedural User Interaction
AskState — give an association of all values that are currently set