ILNumerics.Net Overview
Numeric objects for .NETILNumerics.Net is built on generic array classes, capable of serving as vector, matrix and even n-dimensional arrays. Those objects may hold arbitrary elements. All numerical types are supported also. Mathematical classes provide the functionality for computations in a wide range of numeric algebra. Included are all important decompositions, equation solver and eigenvalues, to name only some.
Complex algebra
ILNumerics.Net extends numerical datatypes in the System namespace by complex numbers in single and double precision. Those types
are capable of all common computations like arithmetic, rounding, trigonometric and exponential operations.
Complex numbers are fully integrated into all mathematical functions handling generic arrays. Operator overloading allows you to use complex numbers in your own algorithms conveniently - no matter if scalars, vectors, matrices or even in n dimensions.
Code performanceMost parts of ILNumerics.Net are implemented in managed C#. This results in a typesavety unbeaten by any other native mathematical framework. By coding with ILNumerics.Net, you wont have to worry about memory leaks anymore! ILNumerics.Net's array classes implement a sophisticated memory management model. This makes sure, that array's data are only copied, when really needed. For detail see the deep inside references feature article.
Processor specific BLAS libraries highly speed up all matrix computations. ILNumerics.Net automatically choose corresponding libraries based on the type of processor running. Currently supported are AMD and INTEL processors. Most linear algebra functions internally use LAPACK packages giving you access to the most uptodate algorithms around.
Rapid Application Development (RAD)ILNumerics.Net assemblies are fully CLS complient. It was designed to be mainly used from within C#. However, one may use ILNumerics.Net classes in any CLS conform language, like Visual Basic .NET or managed C++.
Classes of ILNumerics.Net highly integrate into the .NET framework and are therefore conveniently be used for RAD. Graphical plot panel surfaces can easily be used for Windows.Forms applications and give sophisticated output in 2D and 3D. There is no need to design interfaces to other (native) frameworks anymore!
ILNumerics.Net seamlessly integrates into Visual Studio .NET. It supports the intellisense feature for all classes and functions. A Visual Studio .NET AddIn improves the debugger watch tool window and gives you access to the state of even complex objects in a clear way. For developing and debugging algorithms you will recognize the 'edit & continue' feature of VS.NET to be a vast improvement.
Intuitive syntax
Using the classes of ILNumerics.Net is fun! The design focuses on a fast relearn experience for users familiar with common mathematical scripting languages.
Most functions and their parameterlists are implemented exactly the way established over the years in the mathematical community. Within ILNumerics.Net you can handle all kinds of numerical objects, build subarrays, apply functions and create algorithms.
Even though ILNumerics.Net profits from strong typesafety, you dont want to give up your habits anyway!
Visualizations
Visualize your data directly within .NET Windows.Forms applications! ILNumerics.Net provides plotting panels for line-, image- and surface plots (Beta). Just drag and drop such controls into your .NET application at design time or create and configure them programatically!
The controls support mouse interaction (zoom, rotation), automated axis scaling and are highly configurable out of the box. Plotting may get embedded into your forms or created 'on the fly' as dialog windows.
The plotting classes relay on OpenGL. Development for DirectX is however still possible.
License options Licensing for ILNumerics.Net is easy. All ILNumerics.Net modules are free of charge for everyone to be used in commercial and/or noncommercial applications. ILNumerics.Net Core Module is published under the GNU LGPL. Visualization classes in the ILNumerics.Drawing Module are published under GPL.In order to distribute assemblies using ILNumerics.Net, you have to register on the website. It's it! Register here.
- Overview
- Feature List
- FAQ
- Roadmap