ILNUmerics にとても興味があり、無料版を試してみたいのですが、うまくいきません。
コンソール アプリケーションから始めて、'hello ilnumerics' コンソール アプリケーションを実行しようとしましたが、VS が MKL ライブラリを見つけられないことに気付きました。
Windwos 8 で VS2012 を使用しています (2010 年半ばの MacBook Pro の Bootcamp を介して; 関連する必要があります)。プロジェクト ソリューションから NuGet パッケージ拡張機能をインストールしました。次に、ソリューション エクスプローラーの [Manage Nu Get Packages] で参照を右クリックし、オンラインで検索すると、さまざまなバージョンで ilnumerics が見つかりました。「ILNumerics」を選択してインストールします。プロジェクトに「ILNumerics」と「ILNumerics.Native」を追加しました。次に、ソリューション エクスプローラーの [参照] の下に ILNumerics が表示され、2 つの新しいフォルダー /bin32/ および /bin64/ も取得されます。これらのフォルダーには、libiomp5md.dll および mkl_custom.dll という名前の 2 つの DLL が含まれています。「出力ディレクトリにコピー」プロパティを確認しましたが、すべて「新しい場合はコピー」に設定されています。
どうやら mkl_custom が見つかりません。クイックスタート ガイドから抜粋した次のコードを記述します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ILNumerics;
namespace ConsoleApplication3
{
class Program : ILMath
{
static void Main(string[] args)
{
ILArray<double> A = array<double>
(new double[] { 1,1,1,1,1,2,3,4,1,3,6,10,1,4,10,20} ,4, 4);
ILArray<double> B = counter(4, 2);
ILArray<double> Result = linsolve(A, B);
Console.Out.WriteLine("A: " + Environment.NewLine +
A.ToString());
Console.Out.WriteLine("B: " + Environment.NewLine + B.ToString());
Console.ReadKey();
}
}
}
そして、私はこの例外を受け取ります: タイプ 'System.DllNotFoundException' の未処理の例外が ILNumerics.dll で発生しました
追加情報: DLL 'mkl_custom' を読み込めません: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)
linsolve を呼び出さない場合、ILArray の ToString メソッドは機能します。 // ILArray Result = linsolve(A, B); とコメントすると、
画面に 2 つの行列が表示されます。
また、マトリックスの行列式を計算しようとしましたが、同じ例外が発生しました。明らかに、mkl_custom VS を呼び出すたびに、それを見つけることができません。
ヘルプ/ヒントはありますか?
また、ソリューションに追加されたプロジェクトに NuGet を介して ILNumerics をインストールする必要がありますか? 一度ローカルにインストールして、必要に応じて参照を追加することは可能でしょうか?