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。
我有一个 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。