Extreme Optimization Numerical Libraries for .NET – Part 1 of n
- by JoshReuben
While many of my colleagues are fascinated in constructing the ultimate ViewModel or ServiceBus, I feel that this kind of plumbing code is re-invented far too many times – at some point in the near future, it will be out of the box standard infra. How many times have you been to a customer site and built a different variation of the same kind of code frameworks? How many times can you abstract Prism or reliable and discoverable WCF communication? As the bar is raised for whats bundled with the framework and more tasks become declarative, automated and configurable, Information Systems will expose a higher level of abstraction, forcing software engineers to focus on more advanced computer science and algorithmic tasks.
I've spent the better half of the past decade building skills in .NET and expanding my mathematical horizons by working through the Schaums guides. In this series I am going to examine how these skillsets come together in the implementation provided by ExtremeOptimization. Download the trial version here: http://www.extremeoptimization.com/downloads.aspx
Overview
The library implements a set of algorithms for: linear algebra, complex numbers, numerical integration and differentiation, solving equations, optimization, random numbers, regression, ANOVA, statistical distributions, hypothesis tests.
EONumLib combines three libraries in one - organized in a consistent namespace hierarchy.
Mathematics Library - Extreme.Mathematics namespace
Vector and Matrix Library - Extreme.Mathematics.LinearAlgebra namespace
Statistics Library - Extreme.Statistics namespace
System Requirements -.NET framework 4.0
Mathematics Library
The classes are organized into the following namespace hierarchy:
Extreme.Mathematics – common data types, exception types, and delegates.
Extreme.Mathematics.Calculus - numerical integration and differentiation of functions.
Extreme.Mathematics.Curves - points, lines and curves, including polynomials and Chebyshev approximations. curve fitting and interpolation.
Extreme.Mathematics.Generic - generic arithmetic & linear algebra.
Extreme.Mathematics.EquationSolvers - root finding algorithms.
Extreme.Mathematics.LinearAlgebra - vectors , matrices , matrix decompositions, solvers for simultaneous linear equations and least squares.
Extreme.Mathematics.Optimization – multi-d function optimization + linear programming.
Extreme.Mathematics.SignalProcessing - one and two-dimensional discrete Fourier transforms.
Extreme.Mathematics.SpecialFunctions