Browse Source

Tests: linear algebra Cholesky tests adjust required accuracy

#690
uap-experimental
Christoph Ruegg 7 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++) 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++) 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++) 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].Real, matrixBReconstruct[i, j].Real, 0.03f);
Assert.AreEqual(matrixB[i, j].Imaginary, matrixBReconstruct[i, j].Imaginary, 0.02f); 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++) 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++) 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++) 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 mV = Matrix<double>.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV; var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14); AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 14); AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 14); AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 14); AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 14); AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 14); AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[0, 2], result[0, 2], 14); AssertHelpers.AlmostEqualRelative(matrix[0, 2], result[0, 2], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 2], result[1, 2], 14); AssertHelpers.AlmostEqualRelative(matrix[1, 2], result[1, 2], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 2], result[2, 2], 14); AssertHelpers.AlmostEqualRelative(matrix[2, 2], result[2, 2], 13);
} }
/// <summary> /// <summary>
@ -979,12 +979,12 @@ namespace MathNet.Numerics.UnitTests.Providers.LinearAlgebra.Double
var mV = Matrix<double>.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt); var mV = Matrix<double>.Build.Dense(matrix.ColumnCount, matrix.ColumnCount, vt);
var result = mU*w*mV; var result = mU*w*mV;
AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 14); AssertHelpers.AlmostEqualRelative(matrix[0, 0], result[0, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 14); AssertHelpers.AlmostEqualRelative(matrix[1, 0], result[1, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 14); AssertHelpers.AlmostEqualRelative(matrix[2, 0], result[2, 0], 13);
AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 14); AssertHelpers.AlmostEqualRelative(matrix[0, 1], result[0, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 14); AssertHelpers.AlmostEqualRelative(matrix[1, 1], result[1, 1], 13);
AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 14); AssertHelpers.AlmostEqualRelative(matrix[2, 1], result[2, 1], 13);
} }
/// <summary> /// <summary>

Loading…
Cancel
Save