Mastering your .Net Math needs with ILNumerics


Math is fun right? Especially when you can "see" it? When you can take numbers and equations and turn them into cool images?

Today's project is all about that and much more...


Simple, Clear, All-in-One: Math Library for .NET

ILNumerics is a high performance math library for programmers and scientists. Extending the .NET framework with tools needed for scientific computing, it simplifies the implementation of all kinds of numerical algorithms in convenient, familiar C#-syntax – optimized to the speed of C and FORTRAN.


ILNumerics: Numeric Computing for Industry

FFT, 3D Plots and Visualization, n-dimensional Arrays, LAPACK, Machine Learning and Statistics: ILNumerics makes light work of implementation of numerical algorithms into enterprise software projects. Today, our math library is used in nearly every industrial sector.


Scene Graph API and Plotting Tools: 3D Visualizations for .NET

Most technical applications eventually utilize some kind of graphical user interface. ILNumerics allows the creation of complex 2d and 3d Visualizations in the .NET framework with unique simplicity and performance.

It is being used for the integration of scientific 2d and 3d Plots and for sophisticated custom visualizations. A convenient Scene Graph API realizes full interactivity and the abstraction of arbitrary scenes for many rendering targets like OpenGL, SVG and GDI+.

High Performance with C#: Catch up with modern Software Devs

Benefits continue when it comes to performance: thousands of enterprise projects prove the .NET CLR to be one of the most mature managed environments nowadays. With its generational garbage collector (GC) and options for low level memory control the CLR offers far better performance than other popular computing frameworks.

ILNumerics abstracts away the nasty platform specific details one must keep in mind for C++ & Co. It automatically parallelizes your algorithms. A transparent memory management makes sure that the GC is not stressed at all. ILNumerics execution times are comparable to optimized C/C++ algorithms, nevertheless offering the much higher syntactic convenience of C#.


Versions and Pricing

ILNumerics is available in two editions: a Professional Edition and a Community Edition. The Communitiy Edition is for free and open source and mostly used by academic institutions and for evaluation purposes. It allows to build ILNumerics binaries and to access, alter and distribute the full source code according to the GPL version 3. 

If you need compatibility with closed source licenses, consider buying the Professional Edition. It includes prebuilt binaries under a proprietary closed source license for distribution. Read more!

Contact us for academic licenses and  individual license requirements.

So how do you get started?

Getting Started - Quick Start Guide

This guide will get you started with ILNumerics. It assumes, you have successfully installed ILNumerics into your project, using NuGet (or manual install) as described under Installation.

Hello ILNumerics! - Core Functionality

The following code snippet demonstrates, how a simple equation system is solved via ILNumerics. It is based on a new console application. Replace the auto generated ConsoleApplication1 class with the following code:




Visit the online documentation and learn everything about Handling Arrays in ILNumerics. As soon as it comes to writing your own functions, General Rules are of importance for best performance results.

Getting Visual - ILNumerics Visualization Application

Lets start all over with a fresh new Windows.Forms Application project! Incorporate ILNumeris into your project via NuGet or manually as described in the INSTALLATION section. Double click the automatically generated form to open up the form in the Visual Studio Designer.

From the Visual Studio controls Toolbox drag a new instance of ILPanel onto the form.






Getting help

The following resources are available for documentation:

Community edition is free, you can start playing with this now and very quickly get your advanced math on! That really adds up... (sorry... ;)

The Discussion

  • User profile image

    Thanks Greg - that's a very nice project. Having just done the coursera Machine Learning course and had to get used to using Octave (the open source alternative to Matlab) this make it look like it should be possible to get C# to work with some of the vectorization techniques that I picked up there.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.