Browse Source

Tests: linear algebra Cholesky tests adjust required accuracy

#690
uap-experimental
Christoph Ruegg 6 years ago
parent
commit
9e8df1d133
  1. 2
      src/Numerics.Tests/LinearAlgebraTests/Complex/Factorization/UserCholeskyTests.cs
  2. 7
      src/Numerics.Tests/LinearAlgebraTests/Complex32/Factorization/CholeskyTests.cs
  3. 3
      src/Numerics.Tests/LinearAlgebraTests/Complex32/Factorization/UserCholeskyTests.cs
  4. 2
      src/Numerics.Tests/LinearAlgebraTests/Double/Factorization/UserCholeskyTests.cs
  5. 2
      src/Numerics.Tests/LinearAlgebraTests/Single/Factorization/UserCholeskyTests.cs
  6. 30
      src/Numerics.Tests/Providers/LinearAlgebra/Double/LinearAlgebraProviderTests.cs

2
src/Numerics.Tests/LinearAlgebraTests/Complex/Factorization/UserCholeskyTests.cs

@ -147,7 +147,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Factorization
{
for (var j = 0; j < matrixC.ColumnCount; j++)
{
Assert.AreEqual(cholC.Factor[i, j], chol.Factor[i, j]);
AssertHelpers.AlmostEqualRelative(cholC.Factor[i, j], chol.Factor[i, j], 8);
}
}

7
src/Numerics.Tests/LinearAlgebraTests/Complex32/Factorization/CholeskyTests.cs

@ -149,7 +149,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
for (var j = 0; j < matrixC.ColumnCount; j++)
{
Assert.AreEqual(cholC.Factor[i, j], chol.Factor[i, j]);
Assert.AreEqual(cholC.Factor[i, j].Real, chol.Factor[i, j].Real, 1e-3f);
Assert.AreEqual(cholC.Factor[i, j].Imaginary, chol.Factor[i, j].Imaginary, 1e-3f);
}
}
@ -226,8 +227,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
for (var j = 0; j < matrixB.ColumnCount; j++)
{
Assert.AreEqual(matrixB[i, j].Real, matrixBReconstruct[i, j].Real, 0.02f);
Assert.AreEqual(matrixB[i, j].Imaginary, matrixBReconstruct[i, j].Imaginary, 0.02f);
Assert.AreEqual(matrixB[i, j].Real, matrixBReconstruct[i, j].Real, 0.03f);
Assert.AreEqual(matrixB[i, j].Imaginary, matrixBReconstruct[i, j].Imaginary, 0.03f);
}
}

3
src/Numerics.Tests/LinearAlgebraTests/Complex32/Factorization/UserCholeskyTests.cs

@ -148,7 +148,8 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Factorization
{
for (var j = 0; j < matrixC.ColumnCount; j++)
{
Assert.AreEqual(cholC.Factor[i, j], chol.Factor[i, j]);
Assert.AreEqual(cholC.Factor[i, j].Real, chol.Factor[i, j].Real, 1e-3f);
Assert.AreEqual(cholC.Factor[i, j].Imaginary, chol.Factor[i, j].Imaginary, 1e-3f);
}
}

2
src/Numerics.Tests/LinearAlgebraTests/Double/Factorization/UserCholeskyTests.cs

@ -145,7 +145,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Factorization
{
for (var j = 0; j < matrixC.ColumnCount; j++)
{
Assert.AreEqual(cholC.Factor[i, j], chol.Factor[i, j]);
Assert.AreEqual(cholC.Factor[i, j], chol.Factor[i, j], 1.0e-11);
}
}

2
src/Numerics.Tests/LinearAlgebraTests/Single/Factorization/UserCholeskyTests.cs

@ -145,7 +145,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Factorization
{
for (var j = 0; j < matrixC.ColumnCount; j++)
{
Assert.AreEqual(cholC.Factor[i, j], chol.Factor[i, j]);
Assert.AreEqual(cholC.Factor[i, j], chol.Factor[i, j], 1e-1);
}
}

30
src/Numerics.Tests/Providers/LinearAlgebra/Double/LinearAlgebraProviderTests.cs

@ -942,15 +942,15 @@ namespace MathNet.Numerics.UnitTests.Providers.LinearAlgebra.Double
var mV = Matrix<double>.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 14);
AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 14);
AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 14);
AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 14);
AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 14);
AssertHelpers.AlmostEqualRelative(matrix[0, 2], result[0, 2], 14);
AssertHelpers.AlmostEqualRelative(matrix[1, 2], result[1, 2], 14);
AssertHelpers.AlmostEqualRelative(matrix[2, 2], result[2, 2], 14);
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[0, 2], result[0, 2], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 2], result[1, 2], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 2], result[2, 2], 13);
}
/// <summary>
@ -979,12 +979,12 @@ namespace MathNet.Numerics.UnitTests.Providers.LinearAlgebra.Double
var mV = Matrix<double>.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14);
AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 14);
AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 14);
AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 14);
AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 14);
AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 14);
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 13);
}
/// <summary>

Loading…
Cancel
Save