Skip to content

What's New in 4.0

David Wright edited this page Apr 22, 2018 · 6 revisions

New functionality in 4.0 includes:

  • In Meta.Numerics.Data, we have provided a data wrangling system based on a strongly-typed adaptation of the column-oriented data frame concept popularized by R and Python. For an introductory tutorial, see Data Wrangling.

  • In Meta.Numerics.Statistics, we have added extension methods that allow the analysis of data in any collection type, including columns of frames from the new Meta.Numerics.Data namespace. Most fit methods now return dedicated result types with much richer, more easily accessible data about the fit, including named parameters, residuals, predictions, and ANOVAs. We have also added the Shapiro-Francia test of normality, and the hypergeometric discrete distribution.

  • In Meta.Numerics.Extended, we have supplied a double-double structure that allows you to do floating point computations with up to 31-digit accuracy.

  • In Meta.Numerics.Functions, we have added the Gauss hypergeometric function for real variables.

  • In Meta.Numerics.Analysis, we have introduced dedicated settings types that allow for more fine-grained control of evaluation, and for monitoring the progress of analysis methods by subscribing to regular progress reports as algorithms progress.

  • In Meta.Numerics.Matrices, we have added types to represent the unit matrix, diagonal matrices, and complex vectors. We have reorganized the eigenvalue and singular value APIs to use dedicated collection classes.

Meta.Numerics 4.0 targets .NET Standard 1.1, which means that it can be consumed by both .NET Core applications and .NET Framework applications using the 4.5 or higher version of the framework.

As always for a new major version, we allow breaking changes to improve our API. There are quite a few breaking changes in this version, but all the old functionality still exists and porting your code should be straightforward. Most of the breaking changes will occur in situations in which we have made return types and arguments use more specific, dedicated types. In these cases, you will need to adjust your code to use the new type and its properties. In most cases, after this adjustment your code should become simpler and clearer.

Home

Clone this wiki locally