对此(非常基本的)问题感到抱歉。
我今天刚决定尝试使用ILNumerics来获得相对简单的算法,这些算法基本上都是指简单的代数运算和相对基本的优化。
我的第一印象就是, - ILNumerics更容易理解(例如,Math.Net库), - 易于习惯语法, - 和其他(主要是系统类型)相比,其他库更加整洁。
我幸运地遇到了乘法和转置,但是,我对逆转功能并不是那么幸运。
我尝试了此链接中建议的解决方案: How to use ILMath.invert function?
基本上,逆算计算如下:
ILArray<double> A = ILMath.rand(5,5);
ILArray<double> B = ILMath.linsolve(A, ILMath.eye(5, 5));
但是,当我复制/粘贴并尝试使用相同的方法来计算矩阵的逆时,我会收到以下错误:
An unhandled exception of type 'System.DllNotFoundException' occurred in ILNumerics.dll
Additional information: Unable to load DLL 'mkl_custom':
The specified module could not be found. (Exception from HRESULT: 0x8007007E)
**
我做错了什么?这里缺少什么?如何解决?
感谢任何帮助。
提前感谢那些致力于解决这个问题的人。
答案 0 :(得分:1)
只需使用nuget包'ILNumerics'即可。这会将所有需要的二进制文件导入到项目中,并将文件复制到输出目录。
@Edit:不再维护nuget包。新的ILNumerics Ultimate VS通过将二进制文件直接安装到System32文件夹中来解决问题。对机器上的所有项目执行一次。 http://ilnumerics.net/download.html