public void InverseTestNaN()
{
int n = 5;
var I = Jagged.Identity(n);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
double[][] value = Jagged.Magic(n);
// Make symmetric
value = Matrix.Multiply(value, value.Transpose());
value[i][j] = double.NaN;
value[j][i] = double.NaN;
Assert.IsTrue(value.IsSymmetric());
bool thrown = false;
var target = new JaggedCholeskyDecomposition(value);
try
{
target.Solve(I);
}
catch (Exception)
{
thrown = true;
}
Assert.IsTrue(thrown);
}
}
}