What's New in Version 4.0

General features

  • Full .NET 4.0 Support. Including samples and projects for Visual Studio 2010.
  • Full F# 2.0 Support. Including more than 50 new samples.
  • Multi-Core Ready. Many algorithms have been parallelized using the .NET Task Parallel Library.

Math Library

  • Many algorithms have been parallelized.
  • New FunctionMath class that contains static extension methods for solving equations, optimization, numerical integration and differentiation of functions encapsulated as delegates.
  • Iterative algorithms have been streamlined.
  • Vastly improved performance of linear program solver by several orders of magnitude.
  • Implemented Parse/TryParse and decimal conversions on BigFloat.
  • Performance improvements of up to 6x for BigInteger and BigFloat.
  • We’ve added the most common window functions used in signal processing.
  • New elementary functions: Clip (reduce to interval), fast IsNaN and IsFinite (up to 50x faster on some architectures), Sqrt1pxm1 (accurate square root of numbers close to 1).
  • New special functions: Dawson’s integral, elliptic integrals, Fresnel functions, hypergeometric functions, Riemann zeta function.

Vector and Matrix Library

  • The pure .NET linear algebra kernel has been parallelized.
  • The Vector and Matrix classes contain methods in System.Math and some elementary functions applied to vectors and matrices, respectively.
  • Fill-reducing column ordering for sparse LU and Cholesky decompositions.
  • Vectors and the rows or columns of matrices can be sorted.
  • Min, Max, AbsoluteMin and AbsoluteMax methods have an overload that adds an out parameter for the index of the extreme value.
  • Improved performance of some managed level 2 and level 3 BLAS routines by up to 50%.
  • New ComposedComplexVector and ComposedComplexMatrix classes to efficiently represent vectors and matrices whose real and imaginary components are stored in real vectors and matrices.

Statistics Library

  • The computation phase of several statistical models has been parallelized.
  • Continuous distributions have new members: Support and GetExpectationValue.