ILNumerics comes as an Microsoft Installer package which must be installed on a Windows machine. Administrative rights are required for the installation. The installer creates an installation directory on your machine. It contains:
- All binaries needed for the development with ILNumerics
- A documentation folder with a PDF version of the ILNumerics Online Documentation and a CHM file with the class documentation.
- A folder 'Distribution Files' containing all binary files you need for the distribution of own applications developed with ILNumerics.
In addition to that, ILNumerics installs the several assemblies and toolboxes into the GAC and platform specific native DLLs into the corresponding System forlders. All supported versions of Microsoft Visual Studio which are found at the time of installation will get extended by ILNumerics Ultimate VS.
Supported Visual Studio versions (September 2020): Visual Studio 2015, 2017, and 2019.
Installing Upgrades and Updates
If you have started with the trial version of ILNumerics Ultimate VS, you do not need to manually uninstall the trial version and reinstall the full version of ILNumerics Ultimate VS after having purchased your license key. Both, trial and full version use the same installer package, the same binaries. However, you should make sure that no newer version has been released in the meantime. Check the changelog and compare the current version with your installation, using "Add Remove Programs" or the Extensions info in Visual Studio.
If you come to install a new version, always make sure to follow these important rules:
Before installing ILNumerics Ultimate VS, manually uninstall any previous version using 'Programs & Features' (aka.: ARP)! Do close all Visual Studio instances before starting the uninstall!
Download the latest version of ILNumerics Ultimate VS (or the specific version you are targeting) from your account: https://ilnumerics.net/account.html. The downloaded file can be started by double clicking on it.
After the installation of a new package existing projects which reference the old uninstalled version must be modified: update the list of references to use the newly installed ILNumerics assemblies instead of the older uninstalled ones.
Depending on the new version you may have to adopt the target framework version of your project, too.
ILNumerics' assemblies are found in the Extensions tab of the Visual Studio 'Add Reference' dialog. With version 5 of ILNumerics your projects must target at least .NET 4.5.2.
Up from version 4.8 all ILNumerics assemblies of the same release share the same version. The most important version information for every assembly:
Assembly version: [Major].[Minor].0.0
File version: [Major].[Minor].[BuildDate].[Revision]
Patches are released with the same [Major].[Minor] version. This simplifies updates of your projects since the assembly version remains the same. Minor or major updates require manual update of the project references.
While in pre-4.8 versions, one may decided not to use a specific version for a project reference, this is no longer necessary. You can target a specific version of the ILNumerics binaries if you do not want your project to automatically use the most up to-date version. (Most projects will not require this and should NOT target a specific version, though):
If you know ILNumerics from the beginning you may remember those huge monolithic ILNumerics.dll (6MB) the library was once made out of. This is gone. Today we provide smaller independent modules. For you this brings the advantage of having to deploy fewer MB to your customers. And we are able to license smaller parts of the ever growing functionality of ILNumerics - individually and independently. Smaller parts cost less, so you pay only for what you really need.
Following modules exist currently:
|ILNumerics.Core||This is the core package. It hosts common types, arrays, enums and delegates and is always needed! The Core package comes as a free add-on to any purchased module.|
|ILNumerics.Computing||The main Computing Engine. This hosts the ILMath, sorting and FFT stuff - most of the basic (built-in) functions. This module is needed by many of the higher level toolboxes.|
|ILNumerics.numpy||numpy semantics for arrays: basic and advanced indexing, 0-dimensional arrays, useful extension methods on numerical arrays... this module realizes compatibility to numpy's arrays.|
|ILNumerics.Drawing||The Visualization Engine. If you create fancy, interactive visualizations this is going to be your friend. The Visualization Engine can be licensed independently. You do not need to license the Computing Engine unless you need it for your ... well: computing stuff.|
|ILNumerics.IO.HDF5||The convenient ILNumerics way of interfacing HDF5 files efficiently.|
|ILNumerics.Toolboxes.MachineLearning||Machine learning functions like knn, em, kmeans, ridge_regression and more are found in here.|
|ILNumerics.Toolboxes.Statistics||Important statistical functionality, like cov, var, mvrpd and popular distribution classes.|
|ILNumerics.Toolboxes.Optimization||Efficient, stable and flexible functions for scalar and nonscalar, nonlinear optimization problems.|
|ILNumerics.Toolboxes.Interpolation||(From version 4.9) Highly optimized and flexible interpolation functions for 1D,2D,3D and N-D gridded and scattered data.|
|ILNumerics.Toolboxes.Drawing2||Extends the Visualization Engine by more high level plot objects.|