MathNet 数值 - 傅立叶 - "Specified method not supported"

MathNet Numerics - Fourier - "Specified method not supported"

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

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

Fourier.Forward2D(n);

抛出异常"Specified method not supported"。

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

Returns "Managed".

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

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

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

任何想法表示赞赏!

不幸的是,在 v3.15 中确实添加了 2D 和 multi-dimensional FFT 支持,仅支持 MKL 提供程序,但不支持托管提供程序。参见 release notes。这是例外情况,因为托管提供程序的功能完备是 Math.NET Numerics 的基本目标。我们当然想填补这个空白,但不幸的是我无法给出我们什么时候到达那里的任何时间估计。

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

MathNet.Numerics.Control.UseNativeMKL();

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