MathNet.Numerics ライブラリを機能させようとしています。マトリックスを初期化しようとするたびに、この奇妙な実行時エラーが発生し続けます。同様の問題の投稿をインターネットで探しましたが、運がありませんでした。これは、潜在的に明らかな何かを見逃している可能性があると私に信じさせました. ライブラリとエラーを作成するコードをどのように含めたかを説明しますが、マトリックスの使用方法の math.net サンプル サイトから取得したコードであるため、コードが問題であるとは思いません。
そう!ライブラリをインポートする 2 つの方法を試しました。1 つ目は、NuGetパッケージ マネージャー コンソールを開き、 Install-Package MathNet.Numericsを書き込むことです。2 つ目の方法は、[NuGet パッケージの管理] を開くことでした。次に、mathnet.numerics を検索してインストールします。私にとって、これは前の方法とまったく同じことをしますよね?
とにかく、ライブラリがインポートされたようです。これは、次のコードをエラーなしでビルドできるためです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathNet.Numerics.LinearAlgebra; // Maybe unnecessary to include this one as well as the one below
using MathNet.Numerics.LinearAlgebra.Double;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
Matrix<double> A = DenseMatrix.OfArray(new double[,] {
{1,1,1,1},
{1,2,3,4},
{4,3,2,1}});
Vector<double>[] nullspace = A.Kernel();
}
}
}
それから私はそれを構築します、そしてこれは問題があるところかもしれません. 私には疑いがあります!ビルドするだけです。つまり、ソリューションを右クリックしてビルドします。エラーなし!
次に、プログラムを実行すると、DeseMatrix.OfArray が実行されると、次の例外が発生します。
タイプ 'System.TypeInitializationException' の未処理の例外が MathNet.Numerics.dll で発生しました 追加情報: 'MathNet.Numerics.LinearAlgebra.Storage.MatrixStorage`1' のタイプ初期化子が例外をスローしました。
このかなり長い質問を締めくくるには、何が欠けているのでしょうか?
PS。プロジェクトは .Net 3.5 で実行する必要があります。心配しないでください。.net 4.5 でもまったく同じことを試みました。また、このソリューションをいくつかのコンピューターで試しました.7と8の両方に対応しています.