如何用c#中的ILNumerics ILMath计算矩阵的逆

本文关键字:计算 ILMath 何用 中的 ILNumerics | 更新日期: 2023-09-27 18:02:27

很抱歉有这个(非常基本的)问题。

我今天刚刚决定尝试ILNumerics为我的相对简单的算法,基本上是指简单的代数运算和相对基本的优化。

我的第一印象很简单,- ILNumerics比数学更容易理解。网库),-很容易习惯语法,-和转换到其他(主要是系统类型)比其他库更简洁。

我很幸运地遇到了乘法和转置,但是,我没有那么幸运地遇到逆函数。

我尝试了这个链接中建议的解决方案:如何使用ILMath。反转函数?

基本上,逆计算如下:

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)
* *

我做错了什么?这里缺少了什么?如何解决?

任何帮助都是感激的。

提前感谢那些花时间来做这个问题的人。

如何用c#中的ILNumerics ILMath计算矩阵的逆

只需使用nuget包'ILNumerics'。这将把所有需要的二进制文件导入到项目中,并将文件复制到输出目录中。

@Edit: nuget包不再维护。新的ILNumerics Ultimate VS通过将二进制文件直接安装到System32文件夹中更好地解决了这个问题。对机器上的所有项目执行一次此操作。http://ilnumerics.net/download.html