ILNumerics.Net

From Wikipedia, the free encyclopedia

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.Net
Developer(s) H.Kutschbach, et al.
Stable release v2.6 / November 24, 2011 (2011-11-24)
Operating system .NET Framework/mono (Linux, Mac OS X, Windows)
Type Technical computing, Mathematical software
License GNU GPL and GNU LGPL or proprietary
Website ilnumerics.net

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[1] 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.

surface graph combined with imagesc graph created by ILNumerics.Drawing controls.
2D plot created by ILNumerics.Drawing. It shows marker capabilities on multiple line graphs

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.

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.[2] 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 does even allow the use for 'numbercrunching' applications, which would otherwise only be suitable for Fortran - yet providing much higher implementational convenience.

Alternatives

Some algebraic systems come with compiler extensions for native code/C code generation. The most famous example here is Matlab's .NET Builder. Some other libraries aim the .NET platform only, namely: dnanalytics, CenterSpace Software's NMath numerical libraries, Visual Numerics' IMSL.

See also

References

External links

This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.