ILNumerics.Net

ILNumerics is a class library with the goal of making numerical calculations for. NET platform available. The developer should be possible to formulate complex mathematical algorithms directly in a programming language GPL.

Overview

ILNumerics is itself a. NET assembly. In contrast to established products algorithms can be created as normal. NET classes and be translated to intermediate language ( IL).

ILNumerics extends the. NET Framework to complex numbers, allows calculations with scalars, vectors, matrices or arbitrarily dimensional data. These arrays offer all possibilities of manipulations and operations, as they are established in a mathematical environment. Frequently-used algorithms of linear algebra (for example, systems of linear equations, eigenvalues ​​and eigenvectors ) and FFT functions are implemented as well as classes for graphical output in 2D and 3D.

For linear algebra routines processor- optimized LAPACK libraries of MIT as well as processor- optimized implementations are integrated ( MKL ).

Programs. NET Framework run on Windows and using the Mono project on Unix, Linux, BSD derivatives, Mac OS X and Solaris 8 are executed.

Fast program development

With the advent of numerical calculations in programming environments such as. NET the scientist is given the possibility to shorten the classical approach. So far, the development process is divided essentially into the steps algorithm development and implementation. Algorithms are developed in classical mathematics environments as scripts. For industrial projects, they must be subsequently translated into the final code. This complex process can be automated partially often though, but the process are many disadvantages inherent. So it inherits the lack of type safety, and lower stability of the scripts and often has to take a loss in efficiency. ILNumerics is the first library that enables the creation of such algorithms directly in the final of the programming language. NET framework. A conversion is no longer necessary. The program is faster and more stable.

Performance

ILNumerics is optimized as a first library of its kind in the processing of large data in particular. NET Framework back. The design of the library implements a deterministic cleaning of shared memory in conjunction with a fast memory pool. Thus, the disadvantages of memory management by garbage collector be dispelled. These measures lead to the numerical algorithms are executed with the same performance as algorithms that have been created using Fortran or C / C . The trend towards the use of higher programming languages ​​for numerical computations associated with the development of the hardware: For optimal use of computer resources of parallelization techniques must be applied. High-level languages ​​provide a simpler way of abstraction of the various hardware platforms (CPU / GPU) and are thus also increasingly interesting for the area of ​​Number - Crunching. At the same time they offer by the higher ease of a drastically reduced effort in creating.

Special

The language for creating and manipulating the n-dimensional objects leans very heavily on the established scripting languages ​​in a scientific environment. Thus, almost all functions are parameters compatible with MATLAB. Nevertheless, there are some differences. The biggest is the strong type safety of the code, which is likely to affect the debugging and the stability of the programs conveniently. Although the code is different when using, for example, C # as programming language only slightly from the script version, but pilots must generally more heed to some platform- specific features set (for example, using typed arrays). Another special feature is the built-in controls for visualizing numerical data should be mentioned. The hereby created 2D and 3D charts can be used directly in its own interactive GUI programs.

History

ILNumerics began as a collection of useful mathematical routines and has been used in scientific and industrial projects. In 2005 was started the software to align as an independent library with its own object design. In 2007, she was then prepared for publication and initially offered as a proprietary library. From August 2007 to November 2011 it has been maintained as a separate project and provided free under the LGPL version 3 is available. Within this period, more than 1,000 projects have been completed with their help. Since November 2011, is working on a much improved version, which will be made available under an open source license.

ILNumerics is the winner of the prize money totaling 20,000 euros BASTA! Innovation Awards 2007, in response to the by Software & Support Verlag (S & S) held software developer conference BASTA! was awarded.

Alternatives

Some math programs also offer the possibility to use them in your own programs created algorithms. The most prominent example is probably proprietary MATLAB The MathWorks, Inc. with compilers for C Builder and. NET or the IMSL from Visual Numerics. Other projects consistently follow the approach to be effective only for. NET platform. Here are " Extreme Optimization ", " dnAnalytics " or Center Space " NMath " called. While the former are much more established, they mostly use native libraries, which necessitates frequent abandonment of managed code during execution. The latter, however, can by the restriction to managed code without own memory management often do not provide the performance that is needed for professional algorithms.

409889
de