User:Phonologue
Developer(s) | H.Kutschbach, et.al. |
---|---|
Stable release | v1.3.14
/ August 18, 2008 |
Operating system | .NET Framework/mono (Linux, Mac OS X, Windows) |
Type | Technical computing, Mathematical software |
License | LGPL/GPL |
Website | http://ilnumerics.net/ |
Overview
[edit]ILNumerics.Net is a class library for .NET software developers. It greatly simplifies the implementation of all kinds of numerical algorithms.
ILNumerics.Net was designed for helping developers to 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.Net does not come with an interpreter but directly utilizes features of modern development environments and programming languages like C#.
Features
[edit]N-dimensional arrays, complex numbers, linear algebra and plotting controls (2D and 3D) help developing algorithms on every platform .NET runs on. Developers formulate synchronous or asynchronous algorithms directly in their favorite .NET 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 it's strong type safety algorithms developed that way are more stable and robust at runtime.
Performance
[edit]Since ILNumerics.Net comes as a .NET assembly, it aims .NET applications. Just like Java - those frameworks are often criticized for not beeing 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) and referencing for internal arrays, the performance of ILNumerics.Net algorithms is in the same range as of interpreted languages. Linear algebra routines rely on proccessor specific optimized versions of LAPACK and BLAS, which further increases performance and reliability of computational results. However, 'numbercrunching' applications would rather use native languages like Fortran for fastest computations - with much higher implementational cost though.
History
[edit]ILNumerics.Net started in 2006 and serves its community with high performance fundamental math classes since - for free and no cost. In 2007 ILNumerics.Net won the BASTA! Innovation Awards 2007[1] as most innovative .NET project in germany, switzerland and austria.
Alternatives
[edit]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 NMath and Visual Numerics' IMSL.