Summary of New Features in 14
A list of key new and improved features since 13.0, including features experimental in 14.0.
Core Language
open all close allList Manipulation »
Threaded — thread arrays at deep levels of other arrays
DeleteElements — delete elements from a list
DeleteAdjacentDuplicates — delete identical adjacent elements in a list
SymmetricDifference, UniqueElements — compare elements of several lists
Splice (updated) — splice expressions with any head, not just List
Evaluation and Error Handling
ArgumentsOptions (updated), CheckArguments (updated) — support for operator forms
PropagateAborts — fine-tune whether aborts are cleared or reissued
TerminatedEvaluation — representation of an expression whose evaluation was stopped
TraceOriginal (updated) — finer-grained control over evaluation chains to include
Until — perform evaluations until passing a test
Functional Programming »
Comap, ComapApply — apply lists of functions to an expression
MapApply — apply a function at level one
ReplaceAt — use replacement rules at specific positions
Expression Testing
CountDistinct (updated) — now allows a comparison function to be given
DisjointQ (updated), IntersectingQ (updated), SubsetQ (updated) — new SameTest option
LeafCount (updated) — new Heads option
PositionSmallest, PositionLargest — positions of smallest and largest elements in a list
SameAs — operator form of SameQ
Numbers
RealValuedNumberQ — test if an expression is a number with a real value
RealValuedNumericQ — test if an expression represents a number with a real value
DigitSum — sum of decimal digits in an integer
RomanNumeral (updated), FromRomanNumeral (updated) — faster conversions with Roman numerals
ByteArray (updated) — now supports empty arrays
Assignments »
Consistently support lists and general string patterns in symbol manipulation functions.
Clear (updated) ▪ ClearAll (updated) ▪ Remove (updated) ▪ Protect (updated) ▪ Unprotect (updated) ▪ Definition (updated) ▪ FullDefinition (updated)
OwnValues (updated) — now supports symbol names in addition to symbols
DownValues (updated) ▪ UpValues (updated) ▪ SubValues (updated) ▪ DefaultValues (updated)
Strings
Documentation updates with clarified usages, new notes and many more examples.
StringFreeQ ▪ StringContainsQ ▪ StringStartsQ ▪ StringEndsQ ▪ StringMatchQ
Entity Framework
EntityType — symbolic representation of an entity type
EntityProperty (updated), EntityClass (updated), EntityPropertyClass (updated) — support for child types
Persistent Values
PersistentSymbol, LocalSymbol — support reassignment functions on parts
Unit Testing
TestCreate — create a test object from an input and an expected output
TestObject — symbolic representation of a unit test
IntermediateTest — create intermediate tests inside TestCreate
TestEvaluate ▪ TestEvaluationFunction
Kernel Management
KernelConfigurationEdit — edit properties for a given kernel
$DefaultParallelKernels — list of kernels configured for parallel computing
Parallel Computation
ParallelEvaluate — allow selection of subsets of kernels
Parallelize — support functions on associations (AssociationMap, KeyMap, KeySelect)
Calculus
Core Calculus
ImplicitD — implicit differentiation
IntegrateChangeVariables — change of variables in integrals
DSolveChangeVariables — change of variables in differential equations
Fractional Calculus
Fractional Calculus — introduction to fractional calculus
FractionalD — Riemann–Liouville fractional derivative
NFractionalD — numerical fractional differentiation
CaputoD — Caputo fractional derivative
NCaputoD — numerical Caputo differentiation
LaplaceTransform (updated) — can now transform Caputo fractional derivatives
DSolve (updated) — can now solve Caputo fractional differential equations
MittagLefflerE (updated) — the "exponential" of fractional DEs
Vector Calculus
LineIntegrate — vector line integrals
NLineIntegrate — numerical vector line integrals
SurfaceIntegrate — vector surface integrals
NSurfaceIntegrate — numerical vector surface integrals
Complex Analysis
ContourIntegrate — complex contour integration
NContourIntegrate — numerical complex contour integration
ResidueSum — sum the residues of a function over a region, typically for contour integration
Integral Transforms
New landmark capabilities, achieving F. Oberhettinger et.al, Tables of Laplace Transforms.
LaplaceTransform (updated) ▪ InverseLaplaceTransform (updated)
UnilateralConvolve — unilateral (AKA causal, one-sided) convolution
Differential & Difference Equations
IncludeSingularSolutions — DSolve can now also find singular solutions
RSolveValue (updated) — can now use symbolic vector variables
DSolveValue (updated) — improved quality and performance for constant coefficient linear DEs
RSolveValue (updated) — improved quality and performance for constant coefficient linear ΔEs
Support StateSpaceModel and TransferFunctionModel in place of equations.
DSolveValue (updated) ▪ RSolveValue (updated) ▪ RecurrenceTable (updated)
TruncateSum — make it easy to work with infinite sum representations produced by DSolve and other functions
Symbolic Differential Equations (updated) — introduction to symbolic differential equations
Asymptotic Calculus
Asymptotic (updated) — can now give infinite-order asymptotics for analytic functions
AsymptoticDSolveValue (updated) — asymptotic solution of fractional DEs
AsymptoticDSolveValue (updated) — can now use symbolic vector variables
AsymptoticRSolveValue (updated) — can now use symbolic vector variables
Algebra
High-Performance Polynomial Algebra
Faster univariate and multivariate polynomial operations, as well as some additional functionality such as modular factoring of multivariate polynomials.
PolynomialGCD (updated) ▪ PolynomialLCM (updated) ▪ Factor (updated) ▪ FactorList (updated) ▪ FactorSquareFree (updated) ▪ FactorSquareFreeList (updated) ▪ Resultant (updated) ▪ Discriminant (updated) ▪ Subresultants (updated)
High-Performance Univariate Rational Linear Algebra
Faster symbolic linear algebra involving matrices with univariate rational functions.
LinearSolve (updated) ▪ RowReduce (updated) ▪ Inverse (updated) ▪ NullSpace (updated) ▪ MatrixRank (updated) ▪ Det (updated) ▪ MatrixPower (updated)
Finite Fields
FiniteField — represent a finite field
FiniteFieldElement — represent an element of a finite field
FiniteFieldEmbedding ▪ FrobeniusAutomorphism ▪ FiniteFieldElementTrace ▪ FiniteFieldElementNorm ▪ MinimalPolynomial ▪ MultiplicativeOrder ▪ FiniteFieldElementPrimitiveQ
Convenience functions for working with finite fields.
ToFiniteField, FromFiniteField — convert expressions to and from finite field versions
FiniteFieldIndex, FromFiniteFieldIndex — convert to and from the index representation
Support for polynomial computations over finite fields
Factor (updated) — factor a polynomial over a finite field
PolynomialGCD (updated) — find the g.c.d. of polynomials with coefficients from a finite field
FactorList (updated) ▪ FactorSquareFree (updated) ▪ FactorSquareFreeList (updated) ▪ PolynomialLCM (updated) ▪ PolynomialExtendedGCD (updated) ▪ Expand (updated) ▪ Together (updated) ▪ Cancel (updated) ▪ IrreduciblePolynomialQ (updated) ▪ PolynomialQuotient (updated) ▪ PolynomialRemainder (updated) ▪ PolynomialQuotientRemainder (updated) ▪ Resultant (updated) ▪ Discriminant (updated)
Matrix operations for finite field matrices.
Dot (updated) ▪ LinearSolve (updated) ▪ Inverse (updated) ▪ RowReduce (updated) ▪ NullSpace (updated) ▪ MatrixRank (updated) ▪ Det (updated) ▪ CharacteristicPolynomial (updated) ▪ LUDecomposition (updated)
Solving equations over finite fields.
Solve (updated) ▪ SolveValues (updated) ▪ Reduce (updated) ▪ FindInstance (updated) ▪ Resolve (updated)
Equation Solving
NSolve (updated) — better support for large-scale equation solving, including a monodromy-based method for polynomial and holomorphic systems of equations
MaxRoots — limit the number of roots computed
Structured Matrices
PermutationMatrix — structured matrices with short specifications and fast computations
LowerTriangularMatrix ▪ UpperTriangularMatrix ▪ BlockDiagonalMatrix ▪ BlockLowerTriangularMatrix ▪ BlockUpperTriangularMatrix ▪ VandermondeMatrix ▪ CauchyMatrix ▪ SymmetricMatrix ▪ HermitianMatrix ▪ OrthogonalMatrix ▪ UnitaryMatrix
These are now structured matrices with compact representation and fast computation.
IdentityMatrix (updated) ▪ DiagonalMatrix (updated) ▪ ToeplitzMatrix (updated) ▪ HankelMatrix (updated) ▪ FourierMatrix (updated)
TargetStructure — specify the form of generated output
Support for TargetStructure in matrix constructors.
CholeskyDecomposition (updated) ▪ CoreNilpotentDecomposition (updated)
DiagonalMatrix (updated) ▪ IdentityMatrix (updated) ▪ ToeplitzMatrix (updated) ▪ HankelMatrix (updated) ▪ FourierMatrix (updated) ▪ HilbertMatrix (updated) ▪ UpperTriangularize (updated) ▪ LowerTriangularize (updated) ▪ UpperTriangularMatrix (updated) ▪ LowerTriangularMatrix (updated) ▪ PermutationMatrix (updated) ▪ VandermondeMatrix (updated) ▪ CauchyMatrix (updated) ▪ BlockDiagonalMatrix (updated) ▪ BlockLowerTriangularMatrix (updated) ▪ BlockUpperTriangularMatrix (updated) ▪ FourierDCTMatrix (updated) ▪ FourierDSTMatrix (updated) ▪ ReflectionMatrix (updated) ▪ RotationMatrix (updated) ▪ EulerMatrix (updated) ▪ HadamardMatrix (updated) ▪ RollPitchYawMatrix (updated) ▪ PauliMatrix (updated)
Matrix decompositions with TargetStructure support. Matrix decompositions are explicitly made to produce structured matrices such as triangular, orthogonal and diagonal.
QRDecomposition (updated) ▪ SingularValueDecomposition (updated) ▪ HessenbergDecomposition (updated) ▪ SchurDecomposition (updated)
Interval Matrices
Matrix functions of interval matrices.
Dot (updated) ▪ Inverse (updated) ▪ MatrixPower (updated) ▪ MatrixExp (updated)
Linear equation solving for interval matrices.
LinearSolve (updated) ▪ LUDecomposition (updated) ▪ CholeskyDecomposition (updated)
Eigen problems for interval matrices.
Eigenvalues (updated) ▪ Eigenvectors (updated) ▪ Eigensystem (updated) ▪ Det (updated) ▪ CharacteristicPolynomial (updated)
Mathematical Functions »
Interval Evaluation for Mathematical Functions
CenteredInterval (updated) — interval evaluation supported in 36 more special functions
Interval (updated) — is now supported in all special functions that do interval evaluation
AlternatingFactorial (updated) ▪ AngerJ (updated) ▪ Binomial (updated) ▪ CatalanNumber (updated) ▪ DawsonF (updated) ▪ EllipticNomeQ (updated) ▪ FactorialPower (updated) ▪ Fibonacci (updated) ▪ FresnelF (updated) ▪ FresnelG (updated) ▪ Gudermannian (updated) ▪ HankelH1 (updated) ▪ HankelH2 (updated) ▪ HarmonicNumber (updated) ▪ Haversine (updated) ▪ InverseGudermannian (updated) ▪ InverseHaversine (updated) ▪ JacobiZeta (updated) ▪ LogisticSigmoid (updated) ▪ LucasL (updated) ▪ ParabolicCylinderD (updated) ▪ ScorerGi (updated) ▪ ScorerGiPrime (updated) ▪ ScorerHi (updated) ▪ ScorerHiPrime (updated) ▪ SphericalBesselJ (updated) ▪ SphericalBesselY (updated) ▪ SphericalHankelH1 (updated) ▪ SphericalHankelH2 (updated) ▪ Subfactorial (updated) ▪ Surd (updated) ▪ WeberE (updated) ▪ WhittakerM (updated) ▪ WhittakerW (updated) ▪ ZernikeR (updated) ▪ Erf (updated) ▪ CarlsonRF (updated) ▪ CarlsonRC (updated) ▪ CarlsonRG (updated) ▪ CarlsonRJ (updated) ▪ CarlsonRD (updated) ▪ CoulombF (updated) ▪ CoulombG (updated) ▪ CoulombH1 (updated) ▪ CoulombH2 (updated) ▪ DirichletL (updated) ▪ HurwitzLerchPhi (updated) ▪ InverseErf (updated) ▪ InverseErfc (updated) ▪ LerchPhi (updated) ▪ RiemannSiegelTheta (updated) ▪ RiemannSiegelZ (updated) ▪ WeierstrassP (updated) ▪ WeierstrassPPrime (updated) ▪ WeierstrassSigma (updated) ▪ WeierstrassZeta (updated) ▪ WeierstrassHalfPeriods (updated) ▪ WeierstrassHalfPeriodW1 (updated) ▪ WeierstrassHalfPeriodW2 (updated) ▪ WeierstrassHalfPeriodW3 (updated) ▪ WeierstrassInvariants (updated) ▪ WeierstrassInvariantG2 (updated) ▪ WeierstrassInvariantG3 (updated)
Hypergeometric Functions
Support for the Appell bivariate hypergeometric special functions.
AppellF1 (updated) ▪ AppellF2 ▪ AppellF3 ▪ AppellF4
BilateralHypergeometricPFQ — bilateral, i.e. doubly infinite, hypergeometric function
Trees »
Tree Construction & Representation »
Tree (updated) — extended representation, including associations of children nodes
UnlabeledTree — display a tree without labels
ExpressionTree (updated), TreeExpression (updated) — new structure conversions (XML, JSON, FileSystem...)
FileSystemTree — tree of subdirectories and files in a directory
Tree Visualization »
Tree (updated) — improved graphic design, tree layout and elision
TreeOutline (updated) — label and elision options
TreeElementShape — specify the visual shape of tree nodes
TreeElementLabelStyle ▪ TreeElementLabelFunction ▪ TreeElementStyleFunction ▪ TreeElementSize ▪ TreeElementSizeFunction ▪ TreeElementShapeFunction ▪ TreeElementCoordinates
ParentEdgeStyle — specify the style of tree edges
ParentEdgeLabel ▪ ParentEdgeLabelStyle ▪ ParentEdgeLabelFunction ▪ ParentEdgeStyleFunction ▪ ParentEdgeShapeFunction
MaxDisplayedChildren ▪ $MaxDisplayedChildren
Tree Operations »
RootTree — first n levels of a tree
TreeLeafCount — count number of leaves in a tree
TreeMap (updated), TreeScan (updated) — specify arguments supplied to the function
Machine Learning »
Supervised Machine Learning »
Classify (updated), Predict (updated) — improved method selection, reporting and documentation
Cluster Analysis »
ClusteringMeasurements — analyze the result of a clustering process
Improved automation, support for fixed number of clusters and UpTo.
FindClusters (updated) ▪ ClusterClassify (updated) ▪ ClusteringComponents (updated)
Interpretable Machine Learning
FeatureValueImpactPlot — plots the impact of a feature on a model result
FeatureImpactPlot — plots the impact of each feature together
CumulativeFeatureImpactPlot — plots the cumulative impact of each feature
FeatureValueDependencyPlot — plots the result dependency on a feature value
Statistics
Classify (updated), ClassifierMeasurements (updated) — use FittedModel as input
LinearModelFit (updated), NonlinearModelFit (updated) — support for uncertainty in the response data
Progress reporting, more efficient continuation when history is provided.
BayesianMaximization (updated) ▪ BayesianMinimization (updated)
Support for input data using rule base syntax and target column specification.
LinearModelFit (updated) ▪ GeneralizedLinearModelFit (updated) ▪ LogitModelFit (updated) ▪ ProbitModelFit (updated) ▪ NonlinearModelFit (updated)
Neural Networks »
Inference
NetModel (updated), NetGraph (updated) — huge speedup on Windows, Linux and Mac (Intel) platforms
NetExternalObject — represent an external model that can be used for inference
Network Layers »
AttentionLayer (updated) — support for dropout and local masking
BatchNormalizationLayer (updated) — faster GPU execution
ConvolutionLayer (updated) — support for "Dilation" in 3D
ElementwiseLayer (updated) — new activations "Mish" and "GELU"
NormalizationLayer (updated) — added "GroupNumber" parameter
RandomArrayLayer (updated) — support for more statistical distribution
ReplicateLayer (updated) — support for integer arrays
ResizeLayer (updated) — support for resampling "Scheme" parameter
Support for Unitize, KroneckerDelta, PossibleZeroQ, Threshold, Mod and Clip.
ThreadingLayer (updated) ▪ FunctionLayer (updated) ▪ ElementwiseLayer (updated)
Network Training »
NetTrain (updated), LossFunction (updated) — support for multi-output and nonscalar loss
Encoders & Decoders »
"Image" (updated) — resampling and padding support
"Class" (updated) — support for top-k and top-p sampling (nucleus sampling)
Video Computation »
Video Object
Video (updated) — improved GUI performance and stability, improved storage and sharing, automatic rotation for portrait videos
PlaybackSettings — an option to control playback settings in the video GUI
Video Creation »
VideoCapture — interactive video recording from webcams and other devices
VideoScreenCapture — interactive screen video recording
TourVideo — create a tour from 2D graphics and geo graphics
Tour3DVideo — create a tour around 3D graphics
FrameListVideo (updated) ▪ OverlayVideo (updated) ▪ GridVideo (updated) ▪ VideoRecord (updated)
Video Editing »
VideoExtractTracks — separate all tracks or take out specific video, audio or subtitle tracks
VideoTranscode (updated) — transcode multiple videos to have conformed properties
VideoJoin (updated) — speed improvement, smooth transitions
OverlayVideo (updated) — support for text and other overlays, as well as timed overlays
VideoCombine (updated) — support for adding subtitles
VideoTimeStretch (updated) — support for VideoTransparency option
VideoFrameMap (updated), VideoMap (updated), … — better support for videos of different duration
New and updated video editing options.
VideoTransparency ▪ VideoPadding ▪ VideoEncoding (updated) ▪ GeneratedAssetLocation (updated)
Support in more image functions for frame-by-frame operations.
RemoveAlphaChannel (updated) ▪ SetAlphaChannel (updated) ▪ AlphaChannel (updated)
Support for time-varying parameters for frame-by-frame operations.
ImageEffect (updated) ▪ ImageTake (updated) ▪ ImageTrim (updated) ▪ ImageReflect (updated) ▪ ImageRotate (updated) ▪ ImagePerspectiveTransformation (updated) ▪ ImageTransformation (updated) ▪ ImageForwardTransformation (updated) ▪ ImageRecolor (updated)
Image Computation »
Segmentation Analysis »
A new generation of neural networks and flexible ways of specifying goals gives substantially more powerful segmentation capabilities used in a variety of functions.
ImageSegmentationComponents — segment an image into components
ImageSegmentationFilter — filters an image for the foreground components
ImageCases (updated) ▪ ImageContents (updated) ▪ RemoveBackground (updated) ▪ ImageSaliencyFilter (updated) ▪ Inpaint (updated)
Image Generation »
ImageSynthesize — generate an image from a textual prompt
BarcodeImage (updated) — support for new barcodes (UPCE and Code93)
ImageCompose (updated) — support for plain or styled text and arbitrary expressions for overlays
Computer Vision »
ImageIdentify (updated) — updated accuracy of the core model; added a smaller, faster model
TextRecognize (updated), FindImageText (updated) — higher accuracies using neural network methods
BarcodeRecognize (updated) — support for MicroQR
FindImageShapes — find common shapes (lines, circles, ellipses, ...) in an image
Image Geometric Operations »
ImageStitch (updated) — support for spherical and cylindrical projection spaces
ImageDisplacements (updated) — support for animated images, adding a new method
ImageFeatureTrack (updated) — support for animated images
Colors »
Documentation updates for better illustrations and more.
RGBColor (updated) ▪ CMYKColor (updated) ▪ Hue (updated) ▪ LCHColor (updated) ▪ LABColor (updated) ▪ LUVColor (updated) ▪ XYZColor (updated) ▪ GrayLevel (updated)
Audio & Signal Computation »
Audio Processing »
Audio (updated) — significant GUI update for better performance and consistency with other GUIs
AudioTimeStretch (updated), AudioPitchShift (updated) — improved quality and speed
Speech Computation »
Support for speech recognition and synthesis through external services (Google, OpenAI & ElevenLabs).
SpeechRecognize (updated) ▪ SpeechSynthesize (updated) ▪ VoiceStyleData (updated)
Dates, Quantities & Uncertainty
Date & Time »
RandomDate, RandomTime — uniform distribution of random dates and times
DateGranularity — specification of date granularity, such as "Day" or "Week"
Homogeneous support of options in date constructors.
DateObject (updated) ▪ TimeObject (updated) ▪ DateInterval (updated) ▪ FromAbsoluteTime (updated) ▪ FromDateString (updated) ▪ FromUnixTime (updated) ▪ FromJulianDate (updated)
DateDifference (updated), DatePlus (updated) — new Method option to specify date arithmetic type
DateDifference (updated), DatePlus (updated) — improved performance
TimeZone (updated) ▪ $TimeZone (updated) ▪ TimeZoneConvert (updated)
Duration (updated) — support dates, intervals and entities
Units & Quantities »
Improved performance of the Wolfram Language Quantity framework. Faster dimensional compatibility checks, unit conversions and quantity arithmetic operations.
Quantity (updated) ▪ KnownUnitQ (updated) ▪ CompatibleUnitQ (updated) ▪ UnitDimensions (updated) ▪ UnitConvert (updated) ▪ UnitSimplify (updated) ▪ CommonUnits (updated)
Quantity (updated), UnitConvert (updated) — distinguish "DegreesCelsius" and "DegreesCelsiusDifference" in computations with temperatures
UnitConvert (updated) — faster unit conversions
QuantityMagnitude (updated) ▪ CurrencyConvert (updated) ▪ CommonUnits (updated)
Uncertainty »
Around (updated) — support of uncertain numbers in numerical and comparison functions
NumericalOrder (updated) ▪ Less (updated) ▪ Equal (updated) ▪ LessEqual (updated) ▪ Greater (updated) ▪ GreaterEqual (updated)
Astronomy
Astro Computation »
AstroPosition — observed astronomical positions in space and the celestial sphere
AstroDistance — physical distance between two celestial objects
AstroAngularSeparation — angle between two celestial locations, as observed from a third location
Dated (updated) — accept date specifications like year 2023.34 in astronomical computations
NewMoon, FullMoon — dates of new moon and full moon
MoonPhaseDate — date of any phase of the Moon
LunationNumber, FromLunationNumber — continuous count of new moons
AstroSubpoint — find the location on Earth having a celestial object directly above
SolarEclipse — support for more than 70K eclipses and 80 new properties
Improved precision of astronomy functionality.
Sunrise (updated) ▪ Sunset (updated) ▪ SunPosition (updated) ▪ MoonPosition (updated) ▪ DaylightQ (updated) ▪ SiderealTime (updated)
SphericalDistance — compute distances on the unit sphere
Astro Visualization »
AstroGraphics — maps of the sky, including solar system objects, stars, galaxies and many other astronomical objects
AstroReferenceFrame — specification of the reference frame, location, date and other parameters of an astronomical observation
AstroStyling — specification of graphical styles for the elements of an astro map
AstroBackground ▪ AstroRange ▪ AstroRangePadding ▪ AstroCenter ▪ AstroProjection ▪ AstroGridLines ▪ AstroGridLinesStyle ▪ AstroZoomLevel
Geometric Computation »
AR/VR Support
ARPublish — publish 3D graphics and geometries to AR devices
"USD", "GLTF" — AR formats for mobile devices
Spline Regions »
High-fidelity geometric regions, compatible with CAD systems.
BezierCurve (updated), BSplineCurve (updated) — now geometric regions
BSplineSurface (updated) — now geometric regions
Mesh Regions »
MeshRegion (updated) — now supports Polyhedron cells, allowing for honeycombs etc.
VoronoiMesh (updated) — now supports 3D Voronoi decompositions
MeshRegion (updated), BoundaryMeshRegion (updated) — now supports VertexNormals and VertexColors
Special Regions
GeodesicPolyhedron — approximate balls from subdivision of Platonic polyhedra
CircumscribedBall — minimal enclosing ball
InscribedBall — maximum inscribed ball
SpherePoints (updated) — return results with any specified precision
InfiniteLineThrough ▪ CircularArcThrough
Region Reconstruction from Point Clouds
ReconstructionMesh — can reconstruct 1D, 2D and 3D meshes from point clouds
EstimatedPointNormals — estimate normals to points in a point cloud
GradientFittedMesh (updated) ▪ ConcaveHullMesh (updated)
Region Distances
RegionHausdorffDistance — measure how different two regions are
RegionDistance (updated) — the nearest distance between two regions
RegionFarthestDistance — the farthest distance between two regions
Boolean & Morphological Operations
Dramatic performance and robustness improvements for 2D Boolean and morphological operations.
RegionUnion (updated) ▪ RegionIntersection (updated) ▪ RegionDifference (updated) ▪ RegionSymmetricDifference (updated) ▪ BooleanRegion (updated) ▪ RegionDilation (updated) ▪ RegionErosion (updated)
Spatial Relations
Dramatic performance and robustness enhancements for spatial relation computations.
RegionEqual (updated) — improve equality testing for 2D polygonal regions
RegionDisjoint (updated) ▪ RegionWithin (updated) ▪ RegionCongruent (updated) ▪ RegionSimilar (updated)
System Integration
SpatialPointData — can now be used for points in the geometry framework
Integrate (updated) — improved performance and robustness when integrating over regions
Geometry Resources
More curated geometric regions and models
PolyhedronData (updated) — 150+ new polyhedra, classes and properties
ResourceData (updated) — new 3D geometric models
Import & Export
New and enhanced file formats of CAD, AR & VR, and 3D printing
"STEP", "IGES" — standard industry CAD formats
"USD", "GLTF" — AR formats for mobile devices
"OBJ" (updated) — texture support
"STL" (updated) — performance and robustness
"OBJ" (updated) — support of vertex normals and colors
Graphics »
Graphics Primitives
Extension to enhance convenience and performance
Disk (updated) — multi-disk specification
Graphics (updated), Graphics3D (updated) — now accept images as a primitives
Effects
New graphics directives for effects in 2D
Blurring — blur effect
DropShadowing — drop shadow effect
Haloing — halo effect
Shaders
New graphics directives for lighting computation on 3D objects
FlatShading — flat per face shading
GouraudShading — smooth per vertex shading
PhongShading — smooth per pixel shading
Texture Mappings
Support for automatic texturing and standard named texture mappings
TextureMapping — specify named texture mappings
"Box" ▪ "Cubic" ▪ "Cylindrical" ▪ "Front" ▪ "Planar" ▪ "Spherical" ▪ "Stereographic"
Texture (updated) — now supports named texture mappings
Annulus (updated) ▪ Ball (updated) ▪ BSplineSurface (updated) ▪ Circle (updated) ▪ Circumsphere (updated) ▪ Cone (updated) ▪ ConicHullRegion (updated) ▪ Cuboid (updated) ▪ Cylinder (updated) ▪ Disk (updated) ▪ Ellipsoid (updated) ▪ FilledTorus (updated) ▪ GraphicsComplex (updated) ▪ Hexahedron (updated) ▪ Parallelepiped (updated) ▪ Parallelogram (updated) ▪ Polygon (updated) ▪ Polyhedron (updated) ▪ Prism (updated) ▪ Pyramid (updated) ▪ Rectangle (updated) ▪ Simplex (updated) ▪ Sphere (updated) ▪ Tetrahedron (updated) ▪ Torus (updated) ▪ Triangle (updated) ▪ Tube (updated)
Visualization
Interaction and Presentation
New dynamic highlighting capabilities for interactive exploration and static highlighting for presentations in static media such as books and articles.
Highlighted (updated) — statically or dynamically highlight specific elements in visualization
PlotHighlighting — set global highlighting effects for visualizations
Plot (updated) ▪ ListPlot (updated) ▪ ListLinePlot (updated) ▪ ParametricPlot (updated) ▪ DateListPlot (updated) ▪ LogPlot (updated) ▪ LogLogPlot (updated) ▪ LogLinearPlot (updated) ▪ ListLogPlot (updated) ▪ ListLogLogPlot (updated) ▪ ListLogLinearPlot (updated) ▪ DateListLogPlot (updated) ▪ StackedListPlot (updated) ▪ StackedDateListPlot (updated) ▪ ListStepPlot (updated) ▪ DateListStepPlot (updated) ▪ AbsArgPlot (updated) ▪ ReImPlot (updated) ▪ ComplexListPlot (updated) ▪ QuantilePlot (updated) ▪ ProbabilityPlot (updated) ▪ ProbabilityScalePlot (updated) ▪ SmoothHistogram (updated)
High-Dimensional Visualization
Plot all pairwise 2D projections of data.
PairwiseListPlot — array of pairwise list plots
PairwiseDensityHistogram — array of pairwise density histograms
PairwiseSmoothDensityHistogram — array of pairwise smooth density histograms
Compare all 1D projections of data.
PairwiseQuantilePlot — array of pairwise Q-Q plots
PairwiseProbabilityPlot — array of pairwise P-P plots
Ternary Visualization
TernaryListPlot — plot ratios of quantities
Scaling Functions
ScalingFunctions (updated) — now supports nominal, ordinal and date scales
NominalScale — pure labels of classes (red, green, blue, ...)
OrdinalScale — ordered labels of classes (small < medium < large ...)
Scaling Support in Scalar Visualization Functions
ScalingFunctions (updated) — added support in numerous scalar visualization functions
ContourPlot3D (updated) ▪ DateListLogPlot (updated) ▪ DensityPlot3D (updated) ▪ ListContourPlot3D (updated) ▪ ListCurvePathPlot (updated) ▪ ListDensityPlot3D (updated) ▪ ListLogLinearPlot (updated) ▪ ListLogLogPlot (updated) ▪ ListLogPlot (updated) ▪ ListPolarPlot (updated) ▪ ListSliceContourPlot3D (updated) ▪ ListSliceDensityPlot3D (updated) ▪ ListSliceVectorPlot3D (updated) ▪ ListSurfacePlot3D (updated) ▪ LogLinearPlot (updated) ▪ LogLogPlot (updated) ▪ LogPlot (updated) ▪ ParametricPlot (updated) ▪ ParametricPlot3D (updated) ▪ PolarPlot (updated) ▪ ProbabilityScalePlot (updated) ▪ RegionPlot3D (updated) ▪ RevolutionPlot3D (updated) ▪ SliceContourPlot3D (updated) ▪ SliceDensityPlot3D (updated) ▪ SliceVectorPlot3D (updated) ▪ SphericalPlot3D (updated)
Scaling Support in Vector Visualization Functions
ScalingFunctions (updated) — added support in numerous vector visualization functions
LineIntegralConvolutionPlot (updated) ▪ ListLineIntegralConvolutionPlot (updated) ▪ ListStreamDensityPlot (updated) ▪ ListStreamPlot (updated) ▪ ListStreamPlot3D (updated) ▪ ListVectorDensityPlot (updated) ▪ ListVectorDisplacementPlot (updated) ▪ ListVectorDisplacementPlot3D (updated) ▪ ListVectorPlot (updated) ▪ ListVectorPlot3D (updated) ▪ StreamDensityPlot (updated) ▪ StreamPlot (updated) ▪ StreamPlot3D (updated) ▪ VectorDensityPlot (updated) ▪ VectorDisplacementPlot (updated) ▪ VectorDisplacementPlot3D (updated) ▪ VectorPlot (updated) ▪ VectorPlot3D (updated)
Aesthetics
Updated default color function with a larger dynamic range.
ContourPlot (updated) ▪ DensityPlot (updated) ▪ ListContourPlot (updated) ▪ ListDensityPlot (updated) ▪ DensityPlot3D (updated) ▪ ListDensityPlot3D (updated) ▪ SliceContourPlot3D (updated) ▪ SliceDensityPlot3D (updated) ▪ ListSliceContourPlot3D (updated) ▪ ListSliceDensityPlot3D (updated) ▪ ComplexContourPlot (updated) ▪ DensityHistogram (updated) ▪ SmoothDensityHistogram (updated) ▪ ReliefPlot (updated)
Documentation & Learning
Updated details for better learning and commonly used graphics options.
Plot (updated) ▪ Plot3D (updated) ▪ ParametricPlot (updated) ▪ ParametricPlot3D (updated) ▪ ContourPlot (updated) ▪ ContourPlot3D (updated) ▪ DensityPlot (updated) ▪ DensityPlot3D (updated) ▪ ListPlot (updated) ▪ ListLinePlot (updated) ▪ ListPlot3D (updated) ▪ ListContourPlot (updated) ▪ ListContourPlot3D (updated) ▪ ListDensityPlot (updated) ▪ ListDensityPlot3D (updated) ▪ RegionPlot (updated) ▪ RegionPlot3D (updated) ▪ DiscretePlot (updated) ▪ DiscretePlot3D (updated) ▪ DateListPlot (updated) ▪ LogPlot (updated) ▪ LogLogPlot (updated) ▪ LogLinearPlot (updated) ▪ ListLogPlot (updated) ▪ ListLogLogPlot (updated) ▪ ListLogLinearPlot (updated) ▪ DateListLogPlot (updated) ▪ VectorPlot (updated) ▪ StreamPlot (updated) ▪ ListVectorPlot (updated) ▪ ListStreamPlot (updated) ▪ VectorPlot3D (updated) ▪ StreamPlot3D (updated) ▪ ListVectorPlot3D (updated) ▪ ListStreamPlot3D (updated) ▪ VectorDensityPlot (updated) ▪ StreamDensityPlot (updated) ▪ ListVectorDensityPlot (updated) ▪ ListStreamDensityPlot (updated)
PDE Modeling »
Symmetry Support »
DiffusionPDETerm (updated) (updated) — now support "Axisymmetric" (cylindrical) symmetries
ConservativeConvectionPDETerm (updated) ▪ DerivativePDETerm (updated) ▪ LaplacianPDETerm (updated) ▪ HeatTransferPDEComponent (updated) ▪ MassTransportPDEComponent ▫ (updated) SolidMechanicsPDEComponent (updated) ▪ LaplacianPDETerm (updated) ▪ PoissonPDEComponent (updated) ▪ HelmholtzPDEComponent (updated) ▪ WavePDEComponent (updated)
Partial Differential Equation Models »
SchrodingerPDEComponent — model with the Schrödinger equation
FluidFlowPDEComponent — model fluid flow, including non-Newtonian fluids
Laminar Flow — monograph about modeling laminar flow
HeatTransferPDEComponent (updated) — now supports thickness and cross-sectional areas
HeatTransfer (updated) — new monograph sections on temperature-dependent heat capacity, heat transfer in multi-material media and phase change
Electromagnetics »
ElectrostaticPDEComponent — model electrostatic systems
ElectricPotentialCondition ▪ ElectricFluxDensityValue ▪ ElectricSymmetryValue
Electrostatics — monograph about modeling electrostatics
Nonlinear Solid Mechanics »
SolidMechanicsPDEComponent (updated) — support nonlinear hypo- and hyperelastic material models and damping
SolidMechanicsStress (updated) ▪ SolidMechanicsStrain (updated) ▪ ...
Solid Mechanics (updated) — monograph sections on damping, axisymmetric models, transversely isotropic linear elastic materials and non-orthogonal material orientation
Hyperelasticity — monograph explaining Mooney–Rivlin, neo-Hookean, Arruda–Boyce, Yeoh and Gent hyperelastic material models; plane strain and stress variants; hyperelastic model calibration; multiplicative decomposition; multiple material models; transversely isotropic materials; and the standard reinforcing material model
PDE Application Models »
"Biaxial Tensile Test of Hyperelastic Tissue" ▪ "Vascular Vessel" ▪ "Hyperelastic Model Comparison" ▪ "Hygroscopic Swelling" ▪ "Quantum Ring" ▪ "Passive Dew Condensers" ▪ "Contactless Anemometer" ▪ "Disc Brake" ▪ "Heat Conduction in a Multilayer Sphere" ▪ "Helmholtz Resonator" ▪ "Spherical Capacitor" ▪ "Tubular Reactor" ▪ "Heat Exchanger" ▪ "Buoyancy Driven Flow"
Graphs & Networks »
Graph Constructors
Easy-to-use graph constructors and layouts
LayeredGraph, LayeredGraph3D — graph represented as a layered plot
TorusGraph — torus graph
BuckyballGraph — buckyball graph
Graph Operations
New set and arithmetic operations on graphs
GraphJoin — complete union of graphs
GraphSum — addition of graphs
GraphProduct — products of graphs
"Cartesian" ▪ "Conormal" ▪ "Lexicographical" ▪ "Normal" ▪ "Rooted" ▪ "Tensor"
Graph Resources
More curated graphs and predefined shapes for vertices and edges
GraphData (updated) — 500+ new graphs, classes and properties
ResourceData (updated) — string values of graph options
VertexShapeFunction ▪ EdgeShapeFunction ▪ GraphHighlightStyle
Documentation & Learning
Documentation updates with illustrations and more.
AcyclicGraphQ (updated) ▪ AdjacencyGraph (updated) ▪ AdjacencyMatrix (updated) ▪ BreadthFirstScan (updated) ▪ CompleteGraphQ (updated) ▪ ConnectedComponents (updated) ▪ ConnectedGraphComponents (updated) ▪ ConnectedGraphQ (updated) ▪ DepthFirstScan (updated) ▪ DirectedGraph (updated) ▪ DirectedGraphQ (updated) ▪ EdgeAdd (updated) ▪ EdgeConnectivity (updated) ▪ EdgeCount (updated) ▪ EdgeCoverQ (updated) ▪ EdgeDelete (updated) ▪ EdgeIndex (updated) ▪ EdgeList (updated) ▪ EmptyGraphQ (updated) ▪ FindClique (updated) ▪ FindCycle (updated) ▪ FindEdgeCover (updated) ▪ FindEdgeCut (updated) ▪ FindEdgeIndependentPaths (updated) ▪ FindFundamentalCycles (updated) ▪ FindGraphPartition (updated) ▪ FindHamiltonianCycle (updated) ▪ FindIndependentEdgeSet (updated) ▪ FindIndependentVertexSet (updated) ▪ FindMaximumCut (updated) ▪ FindMinimumCut (updated) ▪ FindPath (updated) ▪ FindShortestPath (updated) ▪ FindVertexCover (updated) ▪ FindVertexCut (updated) ▪ FindVertexIndependentPaths (updated) ▪ GraphCenter (updated) ▪ GraphComplement (updated) ▪ GraphDiameter (updated) ▪ GraphDifference (updated) ▪ GraphDisjointUnion (updated) ▪ GraphDistance (updated) ▪ GraphIntersection (updated) ▪ GraphPeriphery (updated) ▪ GraphRadius (updated) ▪ GraphReciprocity (updated) ▪ GraphUnion (updated) ▪ HamiltonianGraphQ (updated) ▪ IncidenceGraph (updated) ▪ IncidenceList (updated) ▪ IncidenceMatrix (updated) ▪ IndependentEdgeSetQ (updated) ▪ IndependentVertexSetQ (updated) ▪ IndexGraph (updated) ▪ KirchhoffGraph (updated) ▪ LoopFreeGraphQ (updated) ▪ MixedGraphQ (updated) ▪ MultigraphQ (updated) ▪ NearestNeighborGraph (updated) ▪ NeighborhoodGraph (updated) ▪ PathGraph (updated) ▪ PathGraphQ (updated) ▪ PlanarGraphQ (updated) ▪ ReverseGraph (updated) ▪ SimpleGraph (updated) ▪ SimpleGraphQ (updated) ▪ Subgraph (updated) ▪ TopologicalSort (updated) ▪ TreeGraph (updated) ▪ TreeGraphQ (updated) ▪ TreePlot (updated) ▪ UndirectedGraph (updated) ▪ UndirectedGraphQ (updated) ▪ VertexAdd (updated) ▪ VertexComponent (updated) ▪ VertexConnectivity (updated) ▪ VertexContract (updated) ▪ VertexCount (updated) ▪ VertexCoverQ (updated) ▪ VertexDegree (updated) ▪ VertexDelete (updated) ▪ VertexInComponent (updated) ▪ VertexInComponentGraph (updated) ▪ VertexInDegree (updated) ▪ VertexIndex (updated) ▪ VertexList (updated) ▪ VertexOutComponent (updated) ▪ VertexOutComponentGraph (updated) ▪ VertexOutDegree (updated) ▪ VertexReplace (updated) ▪ WeaklyConnectedComponents (updated) ▪ WeaklyConnectedGraphComponents (updated) ▪ WeaklyConnectedGraphQ (updated)
Importing & Exporting »
Import (updated) — support for the "Summary" element for all formats
Document Formats »
"PDF" (updated) — now can import positioned text, improved importing as vector graphics
"DOCX" — Microsoft Word format import
"MOBI" — Mobipocket ebook format import
Raster Formats »
"BioImageFormat" — importing data and metadata of bio formats
"GIF" (updated) — create smaller animated GIFs using global color maps and removing duplicate frames
"PNG" (updated) ▪ "HEIF" (updated) ▪ "OpenEXR" (updated)
Video Formats »
Support for subtitle import and export.
"MP4" ▪ "QuickTime" ▪ "Matroska"
Numerical & Scientific Formats »
"RData", "RDS" — R data format family import
"SAV" (updated), "POR" (updated) — now can specify missing values in export
"NetCDF" (updated) — significant improvement in export
2D Graphics »
"SVG" (updated) — new support for importing as an image or vector graphics and importing metadata
3D Graphics »
"USD" — 3D graphics scene description format
"GLTF" — 3D content transmission format
JSON-Related Formats »
"JSON" (updated) — support to directly import as a Dataset
Geospatial Formats »
"GXF", "OSM" — support for new formats of geographical data
External Services & Operations
ExternalEvaluate (updated) — create and manage virtual environments for Python
ServiceDeploy (updated) — deploy code or content to a hosted server
Notebooks
Menus
Window ▶ Toolbar — add a new default toolbar
Graphics ▶ Convert To/From Canvas — add a canvas over existing cells
Edit ▶ Preferences… — visual refresh of the preferences dialog
File ▶ New ▶ Package/Script — display line numbers when editing packages and scripts
Edit ▶ Indent Selected Lines — indent and outdent selected lines in a code block
() — cleaner copy/paste to external applications
OutputSizeLimit (updated) — the interface now provides buttons for storing the result in the notebook
AbsoluteOptions (updated) — can resolve more 2D and 3D graphics options
Struckthrough — represents a font with a strike-through line
Beep (updated) — add the ability to provide a custom Why the Beep message
Input Assistance
Fuzzy autocompletion of symbols.
Typing & now flashes the scope of the pure function.
Package editor toolbar has been updated with new functionality.
Formatting & Typesetting
Elegant and Elegant Printout environments for elegant code formatting.
Squiggled — add a wavy underline to text
Highlighted (updated) — new option to control whether the head is removed when used as input
Bra, Ket, BraKet — Dirac notation
DefaultFontProperties (updated) — allows explicit specification of Wolfram font
Notebook Programming »
NotebookObject (updated), CellObject (updated) — objects now use a second "instance" UUID to distinguish between objects with identical ExpressionUUID values
ActionMenu (updated) — action menus now allow submenus
NotebookLocate (updated) — support for locating line numbers in package files
NotebookWrite (updated) — new syntax to allow writing before or after a BoxObject or CellObject
Cells
Cells (updated) — extended to filter for cells with given counter settings or increments
CellFrame (updated) — modify cell frame from the toolbar
Cell ▶ Divide Cell — now divides selected cell brackets at hard line breaks
CellDingbatMargin — control the placement of the cell dingbat
Question & Answer Interfaces
QuestionGenerator — generates a random QuestionObject in a quiz
QuestionSelector — serves a randomly selected QuestionObject in a quiz
Code Compilation & Data Structures
Declaration
TypeDeclaration — declare types for use in compiled code
CompiledExpressionDeclaration — efficiently represent structured expressions
LibraryFunctionDeclaration — directly call functions from dynamic libraries
FunctionDeclaration (updated) — declare functions with declarations attached to a symbol
TypeSpecifier (updated) — new compact type specification syntax
CompilerCallback — define custom callback functions for user-defined types
Type Representation
ForAllType — representation of a parameterized type
LiteralType — representation of a literal value for use in types
TypeEvaluate — representation of an evaluation to be performed while inferring types
SequenceType — representation of a sequence of types
Compiled Functions
CreateTypeInstance — create an instance of a type
Cast — convert between types
TypeOf — compute the type of an expression without evaluating it
InertExpression — create an inert representation of an expression
InertEvaluate — call the evaluator from compiled code
UnmanageObject — manually manage memory of raw objects
ToRawPointer — create a pointer for interacting with external libraries
FromRawPointer — dereference a pointer for interacting with external libraries
KernelEvaluate — evaluate expressions in a Wolfram Language kernel
Compiled Components
CompiledComponent — a named group of compiler declarations and shared libraries built from the compiler
DeclareCompiledComponent — add declarations to a compiled component
BuildCompiledComponent — build a shared library for a compiled component
LoadCompiledComponent — load and install components, such as a shared library, from a compiled component
Function Specification
DownValuesFunction — use definitions attached to a symbol when compiling code
FunctionCompile (updated) — simplified specification of a function named in the compiler environment
Migration from Evaluated to Compiled Code
TypeHint — specify a type inside the body of a function
IfCompiled — specify different code for evaluated and compiled processing
Compiled Types
"ByteArray" — one-dimensional array of bytes
Data Structures
"ExprStruct" — a representation of an expression that can be modified without evaluation
"CuckooFilter" — test whether elements are definitely not members
"SortedKeyStore" — store of sorted keys and values
"BitVector" — enhanced with new operations and faster deserialization
"BloomFilter" — enhanced with new operations and faster deserialization
"RedBlackTree" — balanced binary search tree for fast storage and retrieval
"StringVector" — highly optimized store for a vector of strings
Enhancements in Compiler Operations
Improved compilation speed of the compiler by compiling more of the compiler
Improved performance of compiled code by optimizing memory management operations
Improved performance of compiled code by optimizing code to iterate through data structures
Improved performance of compiled code by improving inlining of nested functions
Improved compilation speed of the compiler by compiling more of the compiler.
Improved performance of compiled code by optimizing memory management operations.
Enhanced compilation of DownValues that avoids compiling values that do not match a type.
Functions Enhanced by the Compiler
Until ▪ NumericArray ▪ SparseArray ▪ KroneckerDelta ▪ Ceiling ▪ Floor ▪ Round ▪ GCD ▪ LCM ▪ Depth ▪ RankedMin ▪ RankedMax ▪ FactorInteger ▪ IntegerDigits ▪ Subsets ▪ Tuples ▪ Union
ByteArray ▪ ByteArrayQ ▪ ByteArrayToString ▪ StringDrop ▪ StringJoin ▪ StringTake ▪ StringToByteArray
Foreign Function Interface »
Foreign Functions
ForeignFunctionLoad — load a function from a dynamic library
ForeignPointerLookup — get the pointer to a function in a dynamic library
ForeignFunction — a function that calls into a dynamic library
CreateForeignCallback ▪ ForeignCallback
Raw Memory Operations
RawMemoryAllocate — allocate raw memory of a given type
RawMemoryFree — free raw memory
RawMemoryRead — read values from raw memory
RawMemoryWrite ▪ RawMemoryImport ▪ RawMemoryExport
Managed Objects
CreateManagedObject — create a memory managed object
ManagedObject ▪ UnmanageObject
Raw Pointers
RawPointer — a raw pointer to a typed memory address