Self-optimizing
technical apps
on .NET
 
 

ILNumerics - Technical Computing

Modern High Performance Tools for Technical

Computing and Visualization in Industry and Science

tgt

ILNumerics® Computing Engine

The ILNumerics Computing Engine is the numerical foundation for technical applications on .NET. It combines expressive NumPy- and MATLAB-style array programming with the structure, tooling, and performance required for production C# and Visual Basic projects.

The big picture

Numerical algorithms are often developed in prototyping environments because multidimensional arrays make code concise, readable, and easy to validate. Moving those algorithms into production, however, usually means rewriting them in an industrial language, reworking data structures, and introducing new performance and maintenance risks.

ILNumerics closes this gap. It brings high-level numerical array programming directly into .NET, so algorithms can move from prototype to production without changing programming models or leaving the managed development workflow.

Developers can write compact numerical code, strong typing, use Visual Studio tooling, integrate with existing .NET applications, and even benefit from automatic performance optimization at runtime.

New to ILNumerics? Start with the Getting Started guide.

Numerical multidimensional arrays

ILNumerics arrays are the central data structure for numerical computing. They store multidimensional data, support efficient manipulation, and provide the expressive syntax expected from modern technical computing environments.

The array model is compatible with common NumPy- and MATLAB-style workflows. Through configuration settings, developers can choose the behavior that best matches their preferred programming model, including differences in dimensionality and storage order.

This makes it easier to reuse existing algorithmic knowledge while building maintainable .NET software.

Read more about ILNumerics arrays.

Computational functions

ILNumerics provides a broad set of numerical functions through the ILMath class and additional toolbox classes. These functions operate directly on ILNumerics arrays and cover common tasks such as linear algebra, FFTs, interpolation, optimization, statistics, and data processing.

Many functions follow familiar MATLAB-style naming and behavior, while array member functions and extension methods support NumPy-style workflows where appropriate. This allows developers to combine familiar numerical syntax with the structure and safety of .NET.

See the documentation for built-in functions, ILNumerics toolboxes, and the HDF5 interface.

Performance by design

High-level numerical code should not require manual rewriting before it can run efficiently. ILNumerics combines low-level optimization with automatic runtime acceleration to reduce overhead and improve hardware utilization.

Performance features include:

  • Memory management optimized for numerical workloads
  • Reuse of array storage to reduce allocation pressure
  • Copy-on-write behavior to avoid unnecessary data copies
  • In-place execution where safe and beneficial
  • SIMD-aware and cache-aware execution
  • Automatic parallel execution through ILNumerics Accelerator

These optimizations are applied transparently, so developers can focus on the algorithm instead of manually managing buffers, threads, native kernels, or hardware-specific execution paths.

Read more about ILNumerics Accelerator.

From prototype to production

ILNumerics is designed for teams building engineering, scientific, industrial, simulation, and analytical applications on .NET. It keeps numerical code readable while supporting large projects, strong typing, deployment, maintainability, and integration with existing software systems.

The Computing Engine also works together with the ILNumerics Visualization Engine and ILNumerics Developer Tools for Visual Studio, so numerical algorithms, interactive visualization, and debugging can stay in one managed .NET workflow.

Further reading