After some research I have settled on ILNumerics for a Linear Algebra package in C#.
However I have having some issues working on ranges of the vector. I would like to modify the values in a Vector with a type of moving window, applying a function on the values in this window or range.
Any ideas on how to accomplish this? I cannot find how to do this in the documentation.
This is the kind of operation I would like to do:
ILArray<double> vec = ILMath.array(new [] {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0});
Console.WriteLine(vec);
// create a vector range from index 3-5
var range = vec[2, 5];
Console.WriteLine(range);
// modify all values in range
for (int i = 0; i < range.Length; i++)
range[i] += 10.0;
Console.WriteLine(range);
// view modified original vector
Console.WriteLine(vec);
This will not work, as the range incorrect and the vector cannot be written to using indexing.
Thanks.