次のような 2 つのベクトルがあります。
vdA = { 8.0, 7.0, 6.0 }
vdB = { 0.0, 1.0, 2.0, 3.0 }
基本的に、vdA のすべての要素を vdB のすべての値で合計するベクトル vdX が必要です。
vdX = {
8.0, 9.0, 10.0 11.0,
7.0, 8.0, 9.0, 10.0,
6.0, 7.0, 8.0, 9.0
}
MathNet.Numerics では、これを行う関数が見つかりませんでした。
C#では、これを行うためにこのコードを作成します
Vector<double> vdA = new DenseVector(new[] { 8.0, 7.0, 6.0 });
Vector<double> vdB = new DenseVector(new[] { 0.0, 1.0, 2.0, 3.0 });
List<double> resultSumVector = new List<double>();
foreach (double vectorValueA in vdA.Enumerate())
foreach (double vectorValueB in vdB.Enumerate())
resultSumVector.Add(vectorValueA + vectorValueB);
Vector<double> vdX = new DenseVector(resultSumVector.ToArray());
c# で Math.Net Numerics を使用してこれをより速く達成するための他のオプションはありますか?