1.3 NMath Assemblies (.NET, C#, CSharp, VB, Visual Basic, F#)
The NMath installer places the following .NET assemblies in directory <installdir>/Assemblies:
● NMath.dll, the main NMath assembly
● System.Configuration.ConfigurationManager.dll (>= 4.6.0)
Native assemblies are placed in architecture-specific subdirectories.
● nmath_native_x86.dll, 32-bit native code, including the Intel® Math Kernel Library (MKL)
● nmath_sf_x86.dll, 32-bit native code for special functions
● libiomp5md.dll, dynamically-linked 32-bit Intel OMP threading library
● nmath_native_x64.dll, 64-bit native code, including Intel® Math Kernel Library (MKL)
● nmath_sf_x64.dll, 64-bit native code for special functions
● libiomp5md.dll, dynamically-linked 64-bit Intel OMP threading library
The installer also places the .NET assemblies in your global assembly cache (GAC). The native DLLs are linked resources to the corresponding kernel assemblies.
NMath nonlinear programming, and quadratic programming classes are built on the Microsoft Solver Foundation (MSF). The Standard Edition of MSF is included with NMath (Microsoft.Solver.Foundation.dll), but is limited to 100,000 non-zero coefficients. Note that this is not a limit on the number of variables, but rather on the total number of all non-zero coefficients used to specify the constraints. Given n variables and m constraints, there are between 0 and m*n non-zero coefficients.
NMath linear programming and mixed integer programming classes are built on the Google OR Tools libraries. This library is included with NMath (Google.OrTools.dll), and has no artificially imposed limits on the number of constraints or variables.