Math.NET

Navigationslinks überspringenMath.NET Project : Math.NET Numerics

Math.NET Numerics for .NET and Mono

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.

download

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.