1.4 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
● NMathChartMicrosoft.dll, containing convenience methods for plotting NMath types using the Microsoft Chart Controls for .NET (Section 1.11)
● Microsoft.Solver.Foundation.dll, the Standard Edition of the Microsoft Solver Foundation (see below)
Native assemblies are placed in architecture-specific subdirectories.
<installdir>/Assemblies/x86
● NMathKernelx86.dll, the 32-bit kernel
● 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
<installdir>/Assemblies/x64
● NMathKernelx64.dll, the 64-bit kernel
● 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 64-bit kernel is only put in the GAC if you have the 64-bit .NET framework installed.) The native DLLs are linked resources to the corresponding kernel assemblies.
NMath linear programming, 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.