ILNumerics.Net

ILNumerics is a mathematical class library for Common Language Infrastructure (CLI) developers. It simplifies the implementation of an array of numerical algorithms. ILNumerics was designed to help developers create distribution-ready applications. Interfaces of existing algebra systems were often found to be less effective, when it comes to distribution/integration into existing projects; therefore, ILNumerics does not come with an interpreter but directly utilizes features of modern development environments and programming languages like C#.

ILNumerics
Debugging in Visual Studio with ILNumerics Array Visualizer.
Developer(s) ILNumerics GmbH
Stable release v4.6 / January 8, 2015
Operating system .NET Framework/ Mono, Windows
Type Technical computing, Mathematical software
License proprietary
Website ilnumerics.net
Shows the use of ILNumerics Array Visualizer while debugging in a multilanguage code project in Visual Studio.
Shows the use of ILNumerics ILPanel for 2D plot creation directly inside Windows Forms applications.
Shows the use of ILNumerics Optimization Toolbox for minimization in a Windows Forms application.
Shows the use of ILNumerics Array Visualizer while debugging in Visual Studio.

Features

N-dimensional arrays, complex numbers, linear algebra, FFT and plotting controls (2D and 3D) help developing algorithms on every platform the CLI runs on. Developers formulate computational algorithms directly in their favorite CLI language - avoiding the need for interfacing 3rd party mathematical frameworks. The syntax is vastly compatible to well known and established mathematical programs like MATLAB and GNU Octave. Due to its strong type safety algorithms developed that way are more stable and robust at run time. The library is the only math library so far, which takes the characteristics of the CLI into account and therefore achievers better execution performance than its competitors.

Based on the foundation of efficient n-dimensional arrays, an optimization toolbox, high level HDF5 APIs and a number of high level statistics and machine learning algorithms are provided. ILNumerics allows the rapid development of interactive, production ready 2D and 3D dynamic visualizations, based on scene graphs and rendered on Windows Forms, OpenGL, GDI+ and SVG.

ILNumerics features several convenient debug options. The ILNumerics Array Visualizer is integrated into Visual Studio and allows the graphical inspection of mathematical objects while stepping through the code. Due to its developer efficiency, ILNumerics is known as RAD tool for technical application development.

Performance

Since ILNumerics comes as a CLI assembly, it targets Common Language Infrastructure (CLI) applications. Just like Java - those frameworks are often criticized for not being suitable for numerical computations. Reasons are the memory management by a garbage collector and the intermediate language execution. Nevertheless, due to efficient memory management (pooling), the performance of ILNumerics algorithms beat the speed of many competing frameworks by factors.[1] Linear algebra routines rely on processor specific optimized versions of LAPACK and BLAS, which further increases performance and reliability of computational results. All internal functions are parallelized. The efficiency allows the use for 'numbercrunching' applications, which would otherwise only be suitable for Fortran - yet providing much higher implementational convenience.

History

ILNumerics started in 2006 and serves its community with high performance fundamental math classes since. In 2007 ILNumerics won the BASTA! Innovation Awards 2007[2] as most innovative .NET project in Germany, Switzerland and Austria. After 6 years of open source development, the project added a closed source, proprietary license in 2011, aiming business and academic developers at the same time.

See also

References

External links