public void DeterminantTest2()
{
double[,] m =
{
{ 3.000, 1.000, 0.000, 2.000 },
{ 4.000, 1.000, 2.000, 4.000 },
{ 1.000, 1.000, 0.000, 1.000 },
{ 0.000, 1.000, 2.000, 0.000 }
};
double expected = 8;
double det;
det = Matrix.Determinant(m);
Assert.AreEqual(expected, det);
det = Matrix.LogDeterminant(m);
Assert.AreEqual(Math.Log(expected), det, 1e-10);
Assert.IsFalse(Double.IsNaN(det));
det = Matrix.PseudoDeterminant(m);
Assert.AreEqual(expected, det, 1e-10);
Assert.IsFalse(Double.IsNaN(det));
}