Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Christoph Ruegg 75eea02128 Docs: fix bad nuget url 9 years ago
.paket Build: update Paket bootstrapper 10 years ago
build Docs: update links to use SSL where possible 9 years ago
data TestData: fix embedded resource paths 11 years ago
docs Docs: fix bad nuget url 9 years ago
src Fixed accuracy handling in RootFinding.Bisection (#403) 9 years ago
tools/docu Tools: drop old NBenchmark 9 years ago
.editorconfig Convert F# examples to F# scripts (interactive); update nuget 13 years ago
.gitattributes Docs: update pakages, users 11 years ago
.gitignore Docs: update links to use SSL where possible 9 years ago
.mailmap Repo: add mailmap entry for grovesNL #333 11 years ago
.travis.yml Build: Travis CI setup with .Net Core support 10 years ago
Benchmark.sln Bench: revive benchmarking project, for FFT 9 years ago
CONTRIBUTING.md Docs: update links to discussion board to use ssl 9 years ago
CONTRIBUTORS.md Release v3.13.0 10 years ago
Examples.sln Fix examples 12 years ago
LICENSE.md Docs: start migrating links from numerics homepage to docs; doc generation tweaks #272 11 years ago
Math.Net Master Slides.pptx Added slides on Math.Net which can be used for documentation and presentation purposes. 16 years ago
MathNet.Numerics.All.sln FFT: fix PCL builds, cleanup 9 years ago
MathNet.Numerics.All.sln.DotSettings Docs: update links to use SSL where possible 9 years ago
MathNet.Numerics.Data.sln Tests: embed test data as resource streams in new TestData project 11 years ago
MathNet.Numerics.Data.sln.DotSettings Docs: update links to use SSL where possible 9 years ago
MathNet.Numerics.NativeProviders.sln Bench: use min transitive dependency strategy to avoid strong name hell 9 years ago
MathNet.Numerics.Net35Only.sln Tests: embed test data as resource streams in new TestData project 11 years ago
MathNet.Numerics.Net35Only.sln.DotSettings Docs: update links to use SSL where possible 9 years ago
MathNet.Numerics.XamariniOSOnly.sln Add FSharp Xamarin.iOS project 10 years ago
MathNet.Numerics.sln Release v3.14.0-beta03 9 years ago
MathNet.Numerics.sln.DotSettings Docs: update links to use SSL where possible 9 years ago
NativeProviders.txt updated ACML instructions 15 years ago
README.md Docs: update links to use SSL where possible 9 years ago
RELEASENOTES-CUDA.md Native: prepare build integration for CUDA native provider 11 years ago
RELEASENOTES-Data.md Release Data Extensions v3.2.0 10 years ago
RELEASENOTES-MKL.md Release MKL Native Provider v2.2.0 (rev 11) 9 years ago
RELEASENOTES-OpenBLAS.md Release OpenBLAS Native Provider v0.2.0 (rev 1, linear algebra v1.0) 11 years ago
RELEASENOTES.md Docs: update links to use SSL where possible 9 years ago
Vagrantfile Vagrant: now with official Ubuntu 14.04 LTS; mono/fsharp apt-provisioning 12 years ago
appveyor.yml Build: disable target dependencies but enable tests in AppVeyor; update readme 12 years ago
build.cmd Build: use paket groups, project file cleanups 10 years ago
build.fsx Docs: update links to use SSL where possible 9 years ago
build.sh Build: use paket groups, project file cleanups 10 years ago
paket.dependencies Bench: use min transitive dependency strategy to avoid strong name hell 9 years ago
paket.lock Bench: use min transitive dependency strategy to avoid strong name hell 9 years ago
paket.sh Tooling: run mozroot before bootstrapper in bash scripts, avoid license path redirect in Nuspec 11 years ago
restore.cmd Build: clarify need to run restore.cmd once when using VisualStudio 10 years ago
restore.sh Build: file permissions 10 years ago
vagrant-bootstrap.sh Build: updated vagrant bootstrap to use newest xamarin mono packages 11 years ago

README.md

Math.NET Numerics

Math.NET Numerics is an opensource numerical library for .Net, Silverlight and Mono.

Math.NET Numerics is the numerical foundation of the Math.NET initiative, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Covered topics include special functions, linear algebra, probability models, random numbers, statistics, interpolation, integration, regression, curve fitting, integral transforms (FFT) and more.

In addition to the core .NET package (which is written entirely in C#), Numerics specifically supports F# with idiomatic extension modules and maintains mathematical data structures like BigRational that originated in the F# PowerPack. If a performance boost is needed, the managed-code provider backing its linear algebra routines and decompositions can be exchanged with wrappers for optimized native implementations such as Intel MKL.

Math.NET Numerics is covered under the terms of the MIT/X11 license. You may therefore link to it and use it in both opensource and proprietary software projects. We accept contributions!

Current Version

Math.NET Numerics Version Math.NET Numerics MKL Native Provider Version MKL Native Provider OpenBLAS Native Provider Version OpenBLAS Native Provider Data Extensions Version Data Extensions

Installation Instructions

The recommended way to get Math.NET Numerics is to use NuGet. The following packages are provided and maintained in the public NuGet Gallery.

Core Package:

  • MathNet.Numerics - core package, including .Net 4, .Net 3.5 and portable/PCL builds.
  • MathNet.Numerics.FSharp - optional extensions for a better F# experience. BigRational.
  • MathNet.Numerics.Signed - strong-named version of the core package (not recommended).
  • MathNet.Numerics.FSharp.Signed - strong-named version of the F# package (not recommended).

Alternative Provider Packages (optional):

  • MathNet.Numerics.MKL.Win-x86 - Native Intel MKL Linear Algebra provider (Windows/32-bit).
  • MathNet.Numerics.MKL.Win-x64 - Native Intel MKL Linear Algebra provider (Windows/64-bit).

Data/IO Packages for reading and writing data (optional):

  • MathNet.Numerics.Data.Text - Text-based matrix formats like CSV and MatrixMarket.
  • MathNet.Numerics.Data.Matlab - MATLAB Level-5 matrix file format.

Platform Support and Dependencies

Supported Platforms:

  • .Net 4.0, .Net 3.5 and Mono: Windows, Linux and Mac.
  • PCL Portable Profiles 7, 47, 78, 259 and 328: Windows 8, Silverlight 5, Windows Phone/SL 8, Windows Phone 8.1.
  • Xamarin: Android, iOS

For full details, dependencies and platform discrepancies see Platform Compatibility.

Building Math.NET Numerics

Windows (.Net): AppVeyor build status Linux (Mono): Travis Build Status

You can build Math.NET Numerics with an IDE like VisualStudio or Xamarin, with MsBuild or with FAKE.

MsBuild/XBuild:

restore.cmd (or restore.sh)
msbuild MathNet.Numerics.sln

FAKE:

build.cmd Build    # build from the Windows console with .Net
./build.sh Build   # build from Bash, with Mono on Linux/Mac or .Net on Windows
./build.sh Test    # build and run unit tests

See Build & Tools for full details on how to build, generate documentation or even create a full release.