Summary of New Features in 9

Core Language

Units »

Quantity represents a value associated with a unit

UnitConvert convert between different units and unit systems

QuantityMagnitude give the value associated with a quantity

QuantityUnit give the unit associated with a quantity

CompatibleUnitQ test whether multiple quantities are compatible

CommonUnits convert a list of quantities to a common unit

UnitSimplify convert to simpler units

TargetUnits  ▪  IndependentUnit  ▪  QuantityForm  ▪  QuantityQ

New in String Manipulation and Comparison »

StringRotateLeft cycles the characters in a string to the left

StringRotateRight cycles the characters in a string to the right

Mathematics and Algorithms

Descriptive Statistics Dependency Measures »

SpearmanRho Spearman's rank correlation for data and distributions

KendallTau Kendall's rank correlation for data and distributions

BlomqvistBeta  ▪  GoodmanKruskalGamma  ▪  HoeffdingD  ▪  PillaiTrace  ▪  WilksW

Hypothesis Tests Independence Tests »

IndependenceTest test whether two vectors are independent

CorrelationTest test whether two vectors are uncorrelated

PearsonCorrelationTest  ▪  SpearmanRankTest  ▪  KendallTauTest  ▪  HoeffdingDTest  ▪  GoodmanKruskalGammaTest  ▪  BlomqvistBetaTest  ▪  PillaiTraceTest

New Parametric Distributions

HypoexponentialDistribution hypoexponential distribution

VarianceGammaDistribution variance gamma distribution

HyperexponentialDistribution  ▪  CoxianDistribution  ▪  MeixnerDistribution  ▪  TsallisQExponentialDistribution  ▪  TsallisQGaussianDistribution  ▪  LogMultinormalDistribution

Derived Distributions »

SplicedDistribution splicing several distributions such as different body and tail

CompoundPoissonDistribution Poisson distribution with given jump size distribution

OrderDistribution generalized to different and multivariate distributions

New Data Models

EventData censored (left, right, interval) and truncated data

WeightedData weighted data

Mean descriptive statistics works for censored and weighted data

EstimatedDistribution parametric distribution estimation from censored data

EmpiricalDistribution nonparametric distributions from censored data

Survival Analysis »

SurvivalModelFit survival functions with confidence bands from censored data

CoxModelFit Cox proportional hazards model from censored data

LogRankTest hypothesis test for equal hazard rates

Reliability Modeling and Analysis »

ReliabilityDistribution reliability block diagram model for a system

FailureDistribution fault tree model for a system

StandbyDistribution standby reliability distribution (cold, hot, ...)

BirnbaumImportance measure to pinpoint the subsystem to improve for reliability

StructuralImportance  ▪  BarlowProschanImportance  ▪  ImprovementImportance  ▪  RiskAchievementImportance  ▪  RiskReductionImportance  ▪  CriticalityFailureImportance  ▪  CriticalitySuccessImportance  ▪  FussellVeselyImportance

Random Processes »

RandomFunction simulate a random process

TemporalData represent one or several time series data

EstimatedProcess process estimated from time series data

SliceDistribution distribution for a time slice of a random process

StationaryDistribution  ▪  CovarianceFunction  ▪  ...

Parametric Processes »

RandomWalkProcess  ▪  PoissonProcess  ▪  WienerProcess  ▪  ...

Finite Markov Processes »

DiscreteMarkovProcess  ▪  ContinuousMarkovProcess  ▪  ...

Queueing Processes »

QueueingProcess  ▪  QueueingNetworkProcess  ▪  ...

Time Series Processes »

ARMAProcess  ▪  ARIMAProcess  ▪  ...

Stochastic Differential Equation Processes »

ItoProcess  ▪  StratonovichProcess  ▪  ...

Differential Equations with Events »

WhenEvent discrete actions in differential equations when an event occurs

NDSolve now supports differential equations with events

NDSolveValue  ▪  DiscreteVariables

Differential Equations with Parameters

ParametricNDSolveValue solve differential equations depending on parameters

ParametricNDSolve  ▪  ParametricFunction

Differential Algebraic Equations

NDSolve can now solve high-index DAEs

NDSolveValue  ▪  ParametricNDSolve  ▪  ParametricNDSolveValue

Graphs & Networks »

FindPostmanTour find a tour that traverses each edge at least once

WeaklyConnectedComponents  ▪  EdgeConnectivity  ▪  VertexConnectivity  ▪  FindGraphPartition  ▪  PlanarGraphQ  ▪  ...

Social Network Analysis »

FindGraphCommunities find communities within a graph

GlobalClusteringCoefficient compute the global clustering coefficient

FindClique  ▪  FindKClique  ▪  FindKClan  ▪  FindKClub  ▪  LambdaComponents  ▪  LuccioSamiComponents  ▪  GraphReciprocity  ▪  MeanClusteringCoefficient  ▪  LocalClusteringCoefficient  ▪  DegreeCentrality  ▪  BetweennessCentrality  ▪  ...

Network Flows and Cuts »

FindMaximumFlow find the maximum flow from a source vertex to a target vertex

FindMinimumCostFlow find the minimum cost flows

FindMinimumCut find the minimum cut for a graph

OptimumFlowData  ▪  FindEdgeCut  ▪  FindVertexCut  ▪  ...

Random Graphs »

GraphPropertyDistribution automatically compute properties of random graphs

SpatialGraphDistribution higher-performance random graph generation

Control Systems

PIDTune automatic design of PID controllers

Models with Time Delays »

SystemsModelDelay represent delays in state-space and transfer-function models

TransferFunctionModel  ▪  StateSpaceModel  ▪  SystemsModelDelayApproximate  ▪  SmithDelayCompensator  ▪  ...

Models with Algebraic Constraints »

DescriptorStateSpace whether to use descriptor state-space representation

StateSpaceModel  ▪  KroneckerModelDecomposition  ▪  ...

Fast Symbolic Linear and Polynomial Algebra

LinearSolve fast methods for sparse symbolic and exact systems

Expand fast methods for polynomials with numeric coefficients

NullSpace  ▪  MatrixRank  ▪  Det  ▪  Subresultants  ▪  PolynomialExtendedGCD

New Polynomial Functions

SubresultantPolynomials  ▪  SubresultantPolynomialRemainders

New Matrix Functions

MatrixLog matrix log function

MatrixFunction matrix function for a general function

New Algebraic Numbers

CubeRoot real cube root

Surd real root

Vector Calculus »

Grad  ▪  Div  ▪  Curl  ▪  Laplacian

Coordinate Systems

CoordinateChartData properties of coordinate systems

TransformedField transform a field between coordinate systems

CoordinateTransform  ▪  CoordinateTransformData

Symbolic Tensor Algebra »

Arrays domain of arrays with given properties

Matrices  ▪  Vectors

TensorRank  ▪  TensorDimensions  ▪  TensorSymmetry

TensorProduct  ▪  TensorContract  ▪  TensorTranspose  ▪  ...

Symmetries and Symmetrized Arrays

SymmetrizedArray compact representation of arrays with symmetry

Symmetric  ▪  Antisymmetric

SymmetrizedIndependentComponents  ▪  SymmetrizedDependentComponents

Visualization and Graphics

New Built-in Legends »

Legended display an expression with a legend

PlotLegends option for adding legends to plots

LineLegend styled lines and labels

PointLegend styled markers and labels

SwatchLegend styled swatches and labels

BarLegend color bar and scale

LegendMarkers  ▪  LegendLayout  ▪  LegendLabel  ▪  ...

New Built-in Unit Visualization

TargetUnits specify what units should be used

ListPlot plot data with units

ListLinePlot  ▪  ListLogPlot  ▪  ListLogLogPlot  ▪  ListLogLinearPlot  ▪  ListPlot3D  ▪  ListContourPlot  ▪  ListDensityPlot  ▪  ArrayPlot  ▪  MatrixPlot  ▪  QuantilePlot  ▪  ProbabilityPlot  ▪  ProbabilityScalePlot

BarChart chart data with units

BarChart3D  ▪  PieChart  ▪  PieChart3D  ▪  RectangleChart  ▪  RectangleChart3D  ▪  SectorChart  ▪  SectorChart3D  ▪  BubbleChart  ▪  BubbleChart3D  ▪  Histogram  ▪  Histogram3D  ▪  PairedHistogram  ▪  DensityHistogram  ▪  BoxWhiskerChart  ▪  DistributionChart

New Gauges »

AngularGauge creates a gauge with values shown along a circular scale

HorizontalGauge creates a gauge with values shown along a horizontal scale

VerticalGauge creates a gauge with values shown along a vertical scale

ThermometerGauge shows values on a thermometer

BulletGauge shows values relative to reference values on a horizontal scale

ClockGauge creates a clock for displaying time

GaugeLabels  ▪  GaugeMarkers  ▪  GaugeStyle  ▪  ...

New Volume Visualization

Raster3D 3D array of volume elements

Other Improvements

Graphics3D antialiasing support for Linux

PairedSmoothHistogram new paired smooth density estimates

Histogram improved computational aesthetics for rendering a large number of bins

TemporalData directly supported in ListPlot, ListLinePlot, etc.

ColorData several dozen new color schemes

Data Manipulation

New Import & Export Formats

"AgilentMicroarray" biological microarray data (.txt)

"FASTQ" molecular biology format (.fastq, .fq)

"FCS" format for storing flow cytometry data (.fcs, .lmd)

"HIN" HyperChem molecular data format (.hin)

"ICC" color profile format (.icc, .icm)

"ICNS" Macintosh icon package format (.icns)

"JCAMP-DX" chemical spectroscopy format (.jdx, .dx, .jcm)

"OpenEXR" theatrical film raster image format (.exr)

"SFF" flowgram format for DNA sequences (.sff)

Updated Import & Export Formats

"CUR" now supported by Export

"FITS" import of binary tables, export of attributes

"HTML" supports embedding of CDF

"ICO" now supported by Export

"JPEG" enhanced Exif and color profile support

"MIDI" now supported by Import

"NB" added support for cell style-based elements

"PBM" improved support for various data formats

"PGM" improved support for various data formats

"PNG" added support for color profiles

"PNM" improved support for various data formats

"TIFF" added support for 3D images and color profiles

New in Date & Time »

DateRange generate a list of dates

DatePlus add or subtract days, weeks, etc. in a date list or string

DayRange generate a list of days

DayPlus add or subtract days

LeapYearQ determine if a date is in a leap year

DayMatchQ determine the day type

BusinessDayQ determine if a day is a business day

DateDifference  ▪  DayRound  ▪  DayCount  ▪  CalendarData

New in Image Processing & Analysis »

Image3D create a 3D image from an array of data or a list of images

Image3DSlices slice through a 3D image in each dimension

ImageFileApply, ImageFileFilter, ImageFileScan out-of-core image processing

ImageMeasurements returns specified properties of an image

ImageDistance compute various difference measures between two images

ImageValuePositions, PixelValuePositions positions of the specified pixel value

ReplaceImageValue  ▪  ReplacePixelValue  ▪  ColorReplace

ColorProfileData representation for general color spaces

DominantColors find a list of dominant colors

HistogramTransform, HistogramTransformInterpolation equalize levels

GradientOrientationFilter  ▪  GaborFilter

NonlocalMeansFilter  ▪  FourierDCTFilter

FindFaces find human faces in an image

ImageCorners  ▪  ImageFeatureTrack

GeodesicClosing  ▪  GeodesicOpening

ImagePeriodogram squared magnitude of the image Fourier transform

New in Signal Processing »

RecurrenceFilter compute the response of an IIR filter

LowpassFilter  ▪  HighpassFilter  ▪  BandpassFilter  ▪  BandstopFilter  ▪  ...

LeastSquaresFilterKernel  ▪  FrequencySamplingFilterKernel  ▪  EquirippleFilterKernel

ButterworthFilterModel  ▪  EllipticFilterModel  ▪  Chebyshev1FilterModel  ▪  ...

TransferFunctionTransform convert between different types of analog filters

KaiserWindow  ▪  DirichletWindow  ▪  HannWindow  ▪  HammingWindow  ▪  ...

ListZTransform  ▪  ListFourierSequenceTransform  ▪  ...

FourierMatrix  ▪  FourierDCTMatrix  ▪  FourierDSTMatrix  ▪  HadamardMatrix

Spectrogram  ▪  Periodogram  ▪  ImagePeriodogram  ▪  ...

Upsample  ▪  Downsample

Computable Data

WolframAlpha access to Wolfram|Alpha data

SocialMediaData direct access to social media (Facebook, Twitter, LinkedIn, Google+)

CoordinateChartData standard coordinate system properties

GraphData updated with additional graphs and properties

FiniteGroupData updated with additional groups and properties

ColorData several dozen new color schemes

ExampleData updated with additional example datasets

Dynamic Interactivity

New Controls

ListPicker a list of choices

Notebooks and Documents

Cell Handles

Cells a list of cells in a given notebook (CellObject objects)

SelectedCells  ▪  EvaluationCell

Systems Interfaces & Deployment

HTTP Operations »

URLSaveAsynchronous save the contents of a document with a background task

Stream Operations

OpenRead (modified) open an input stream from a data source such as a URL

Get (modified) read and evaluate Wolfram Language input from a stream

DefineInputStreamMethod define a custom input stream method

DefineOutputStreamMethod define a custom output stream method

Read  ▪  Find  ▪  FindList  ▪  InputStream  ▪  OutputStream

Asynchronous Tasks

AsynchronousTaskObject object representing an asynchronous task

StartAsynchronousTask resume an asynchronous task

StopAsynchronousTask stop an asynchronous task

WaitAsynchronousTask wait for an asynchronous task to complete

RemoveAsynchronousTask shut down an asynchronous task and remove it

AsynchronousTasks list active asynchronous tasks

RLink »

InstallR launch the R runtime and connect it to the Wolfram System session

UninstallR uninstall the R runtime

REvaluate fetch the contents of a document with a background task

RSet fetch the contents of a document with a background task

RFunction fetch the contents of a document with a background task

RVector  ▪  RList  ▪  RObject  ▪  RCode  ▪  RAttributes  ▪  REnvironment

System Environment

GetEnvironment get the setting for an operating system environment variable

SetEnvironment set a value for an operating system environment variable

Text-Based Interface

Improved terminal interface with support of command history and cursor movements »