MathNet数字 - 傅立叶 - “不支持指定方法”

时间:2017-02-09 01:11:45

标签: exception fft managed mathnet numerics

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

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

Fourier.Forward2D(n);

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

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

返回“托管”。

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

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

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

任何想法都赞赏!

2 个答案:

答案 0 :(得分:2)

不幸的是,在v3.15中确实添加了2D和多维FFT支持,仅支持MKL提供程序,但不支持托管提供程序。见release notes。这是特殊的,因为Math.NET Numerics的一个基本目标是托管提供程序应该是功能完整的。我们当然希望填补这一空白,但不幸的是,我无法及时估计我们何时会在那里。

答案 1 :(得分:0)

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

MathNet.Numerics.Control.UseNativeMKL();

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