Math.NET Numerics is the numerical foundation of the Math.NET project, aiming to
provide methods and algorithms for numerical computations in science,
engineering and every day use.
Numerics is the result of merging dnAnalytics
with Math.NET Iridium and
is intended to replace both. It targets Microsoft .Net 3.5, Mono and
Silverlight, and in addition to a purely managed implementation will also
support native hardware optimization.
Math.NET Numerics is covered under the terms of the
MIT/X11 Opensource License. You may therefore link to it and use it in
both opensource and proprietary software projects.
Quick Links
Documentation
- API
- Source Code
- Discussion/Forum
- Issue Tracker
- Ideas/Suggestions
Math.NET Numerics Features
-
mathematical and scientific constants & special functions
-
complex type including associated trigonometric and hyperpolic functions
-
real and complex, dense and sparse linear algebra (with LU, QR, eigenvalues, ... decompositions)
-
non-uniform probability distributions, multivariate distributions, sample
generation
-
alternative uniform random number generators
-
descriptive statistics, including order statistics
-
various interpolation methods, including barycentric approaches and splines
-
numerical function integration (quadrature) routines
-
integral transforms, like fourier transform (FFT) with arbitrary lengths
support, and hartley
-
spectral-space aware sequence manipulation (signal processing)
- combinatorics, polynomials, quaternions, basic number theory, ...
- parallelized where appropriate, to leverage multi-core and multi-processor
systems
- fully managed or (if available) using native libraries (Intel MKL, ACMS, CUDA, FFTW)
- provides a native facade for F# developers
A complete feature list is available in the
documentation wiki.
Current Development
Aggregated News Feeds
Documentation & Support
All packed downloads contain an API reference in the CHM format, describing all
classes and class members. We also compile an online API references
if you prefer to view it directly in the browser.
For more conceptual and organizational documentation we use a Documentation Wiki.
There you'll also find code samples and more details for example about fourier
transformations and how to compute them with Math.NET Numerics.
If the available documentation doesn't help, have a look at the Discussion Board
and post your question there.
Your Ideas, Feedback and Bug Reports
Please visit uservoice to suggest and
vote for new features we should consider to implement or what we should change
to better fit typical use cases.
If you've found a bug in our code base, please do let us know so we can fix it.
We manage bugs in the issue tracker
so the easiest way is to report it directly there. If you're unsure about the
issue, you can of course ask about it on the Discussion Board.
In case you have a hunch what the issue might be on our side, you may want to
provide a patch so we can fix it faster (e.g. by forking it at github, fixing it
in your fork and then clicking the pull request button).
Of course you're also welcome to become a regular contributor to the project.
Provided you know git, this is as informal and easy
as forking our master repository at github (see below) and start committing and
pushing your changes to your fork. If we like you're changes, we'll apply them
back into master.
Source Code Repository
We use Git as distributed version control
system for our source code repositories, but provide a readonly subversion
mirror for anyone who can't use git for some reason:
Git Master at Github, Clone URL: git://github.com/mathnet/mathnet-numerics.git
Git Mirror at Gitorious, Clone URL: git://gitorious.org/mathnet-numerics/mainline.git
Svn Mirror at Google Code,
Checkout URL: http://mathnet-numerics.googlecode.com/svn/trunk/
Team & Developers
See also the contributors summary at ohloh
or joins us at linkedin.