1

我有一个 C# 应用程序,我通过 Nuget 安装了 MathNet.Numerics 3.17.0。

我正在尝试使用傅立叶函数。当我运行这行代码时:

Fourier.Forward2D(n);

它抛出异常“不支持指定的方法”。

Console.WriteLine(MathNet.Numerics.Control.LinearAlgebraProvider.ToString());

返回“托管”。

我发誓这是有效的,但现在它坏了。

关于如何使这项工作的任何想法?

仅供参考,我正在使用 MKL 包一分钟,这似乎有效。我想使用本机包“托管”,因为我通过 clickonce 分发应用程序....

任何想法表示赞赏!

4

2 回答 2

1

不幸的是,在 v3.15 中确实添加了 2D 和多维 FFT 支持,仅支持 MKL 提供程序,但不支持托管提供程序。请参阅发行说明。这是例外,因为托管提供程序应具有完整的功能是 Math.NET Numerics 的基本目标。我们肯定想填补这个空白,但不幸的是,我无法估计我们何时到达那里。

于 2017-02-09T19:12:18.777 回答
0

由于仍然缺乏对 Fourier2D 的托管支持,以下是如何使用本机包以防万一它是可行的:

MathNet.Numerics.Control.UseNativeMKL();

还需要导入“MathNet.Numerics.MKL.Win”(或您的平台的另一个)包以将英特尔 MKL 支持添加到 MathNet。

于 2021-05-23T23:27:27.577 回答