Math.NET 数值 - 如何表示缺失值或无效值?

Math.NET Numerics - How to represent missing or invalid values?

库是否有某种方法来表示向量和矩阵中的缺失值或无效值?一个很好的参考是 Numpy masked arrays.

您可以使用 double.NaN 表示丢失或无效的数据(或任何您不能信任的数据)。从这个意义上说,您不能相信从该数据中获得的任何值。那些不受信任的值也将是 double.NaN

var d = double.NaN;
var A = DenseMatrix.OfArray(new double[,]
{
    { d, 0, 0 },
    { 0, 1, 0 },
    { 0, 0, 1 }
});
var B = DenseMatrix.OfArray(new double[,]
{
    { 1, 0, 0 },
    { 0, d, 0 },
    { 0, 0, 1 }
});

Console.WriteLine(A*B);

给出:

DenseMatrix 3x3-Double
NaN  NaN  NaN
  0  NaN    0
  0  NaN    1