From d1cbfb54875f020f4cf4b890b4d860c41ed2a058 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Wed, 4 Sep 2013 19:58:28 +0200 Subject: [PATCH] LA: make IterationCountStopCriterium generic & shared --- .../IterativeSolvers/BiCgStabSolver.cs | 2 +- .../CompositeSolverExample.cs | 2 +- .../IterativeSolvers/GpBiCgSolver.cs | 2 +- .../IterativeSolvers/MlkBiCgStabSolver.cs | 2 +- .../IterativeSolvers/TFQMRSolver.cs | 2 +- .../LinearAlgebra/Complex/Solvers/Iterator.cs | 8 +- .../IterationCountStopCriterium.cs | 222 ------------------ .../Complex32/Solvers/Iterator.cs | 2 +- .../IterationCountStopCriterium.cs | 217 ----------------- .../LinearAlgebra/Double/Solvers/Iterator.cs | 8 +- .../IterationCountStopCriterium.cs | 215 ----------------- .../LinearAlgebra/Single/Solvers/Iterator.cs | 8 +- .../IterationCountStopCriterium.cs | 28 +-- src/Numerics/Numerics.csproj | 5 +- .../Complex/Solvers/Iterative/BiCgStabTest.cs | 10 +- .../Complex/Solvers/Iterative/GpBiCgTest.cs | 10 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 10 +- .../Complex/Solvers/Iterative/TFQMRTest.cs | 10 +- .../Complex/Solvers/IteratorTest.cs | 24 +- .../IterationCountStopCriteriumTest.cs | 26 +- .../Solvers/Iterative/BiCgStabTest.cs | 10 +- .../Complex32/Solvers/Iterative/GpBiCgTest.cs | 8 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 12 +- .../Complex32/Solvers/Iterative/TFQMRTest.cs | 12 +- .../Complex32/Solvers/IteratorTest.cs | 24 +- .../IterationCountStopCriteriumTest.cs | 26 +- .../Double/Solvers/Iterative/BiCgStabTest.cs | 12 +- .../Double/Solvers/Iterative/GpBiCgTest.cs | 10 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 12 +- .../Double/Solvers/Iterative/TFQMRTest.cs | 12 +- .../Double/Solvers/IteratorTest.cs | 28 +-- .../IterationCountStopCriteriumTest.cs | 24 +- .../Single/Solvers/Iterative/BiCgStabTest.cs | 12 +- .../Single/Solvers/Iterative/GpBiCgTest.cs | 12 +- .../Solvers/Iterative/MlkBiCgStabTest.cs | 12 +- .../Single/Solvers/Iterative/TFQMRTest.cs | 12 +- .../Single/Solvers/IteratorTest.cs | 28 +-- .../IterationCountStopCriteriumTest.cs | 24 +- 38 files changed, 224 insertions(+), 879 deletions(-) delete mode 100644 src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/IterationCountStopCriterium.cs delete mode 100644 src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/IterationCountStopCriterium.cs delete mode 100644 src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/IterationCountStopCriterium.cs rename src/Numerics/LinearAlgebra/{Single => }/Solvers/StopCriterium/IterationCountStopCriterium.cs (89%) diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs index d5fc08bb..da2d7216 100644 --- a/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs +++ b/src/Examples/LinearAlgebra/IterativeSolvers/BiCgStabSolver.cs @@ -96,7 +96,7 @@ namespace Examples.LinearAlgebra.IterativeSolversExamples // - ResidualStopCriterium: monitors residuals if calculation is considered converged; // Stop calculation if 1000 iterations reached during calculation - var iterationCountStopCriterium = new IterationCountStopCriterium(1000); + var iterationCountStopCriterium = new IterationCountStopCriterium(1000); // Stop calculation if residuals are below 1E-10 --> the calculation is considered converged var residualStopCriterium = new ResidualStopCriterium(1e-10); diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs b/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs index aeac9b55..9b192957 100644 --- a/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs +++ b/src/Examples/LinearAlgebra/IterativeSolvers/CompositeSolverExample.cs @@ -95,7 +95,7 @@ namespace Examples.LinearAlgebra.IterativeSolversExamples // - ResidualStopCriterium: monitors residuals if calculation is considered converged; // Stop calculation if 1000 iterations reached during calculation - var iterationCountStopCriterium = new IterationCountStopCriterium(1000); + var iterationCountStopCriterium = new IterationCountStopCriterium(1000); // Stop calculation if residuals are below 1E-10 --> the calculation is considered converged var residualStopCriterium = new ResidualStopCriterium(1e-10); diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs index 176900b0..fabfe484 100644 --- a/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs +++ b/src/Examples/LinearAlgebra/IterativeSolvers/GpBiCgSolver.cs @@ -94,7 +94,7 @@ namespace Examples.LinearAlgebra.IterativeSolversExamples // - ResidualStopCriterium: monitors residuals if calculation is considered converged; // Stop calculation if 1000 iterations reached during calculation - var iterationCountStopCriterium = new IterationCountStopCriterium(1000); + var iterationCountStopCriterium = new IterationCountStopCriterium(1000); // Stop calculation if residuals are below 1E-10 --> the calculation is considered converged var residualStopCriterium = new ResidualStopCriterium(1e-10); diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs index 3fab9166..2b63286a 100644 --- a/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs +++ b/src/Examples/LinearAlgebra/IterativeSolvers/MlkBiCgStabSolver.cs @@ -95,7 +95,7 @@ namespace Examples.LinearAlgebra.IterativeSolversExamples // - ResidualStopCriterium: monitors residuals if calculation is considered converged; // Stop calculation if 1000 iterations reached during calculation - var iterationCountStopCriterium = new IterationCountStopCriterium(1000); + var iterationCountStopCriterium = new IterationCountStopCriterium(1000); // Stop calculation if residuals are below 1E-10 --> the calculation is considered converged var residualStopCriterium = new ResidualStopCriterium(1e-10); diff --git a/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs b/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs index a2166027..20dfe6c8 100644 --- a/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs +++ b/src/Examples/LinearAlgebra/IterativeSolvers/TFQMRSolver.cs @@ -95,7 +95,7 @@ namespace Examples.LinearAlgebra.IterativeSolversExamples // - ResidualStopCriterium: monitors residuals if calculation is considered converged; // Stop calculation if 1000 iterations reached during calculation - var iterationCountStopCriterium = new IterationCountStopCriterium(1000); + var iterationCountStopCriterium = new IterationCountStopCriterium(1000); // Stop calculation if residuals are below 1E-10 --> the calculation is considered converged var residualStopCriterium = new ResidualStopCriterium(1e-10); diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterator.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterator.cs index f60cdb6c..d0f5e9c9 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/Iterator.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/Iterator.cs @@ -28,13 +28,13 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using System.Linq; using MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using MathNet.Numerics.Properties; -using System; -using System.Collections.Generic; -using System.Linq; namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers { @@ -64,7 +64,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers var iterator = new Iterator(); iterator.Add(new FailureStopCriterium()); iterator.Add(new DivergenceStopCriterium()); - iterator.Add(new IterationCountStopCriterium()); + iterator.Add(new IterationCountStopCriterium()); iterator.Add(new ResidualStopCriterium()); return iterator; diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/IterationCountStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/IterationCountStopCriterium.cs deleted file mode 100644 index 96db9d8f..00000000 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/IterationCountStopCriterium.cs +++ /dev/null @@ -1,222 +0,0 @@ -// -// Math.NET Numerics, part of the Math.NET Project -// http://numerics.mathdotnet.com -// http://github.com/mathnet/mathnet-numerics -// http://mathnetnumerics.codeplex.com -// -// Copyright (c) 2009-2010 Math.NET -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -using MathNet.Numerics.LinearAlgebra.Solvers.Status; -using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; -using System; -using System.Diagnostics; - -namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium -{ - -#if NOSYSNUMERICS - using Complex = Numerics.Complex; -#else - using Complex = System.Numerics.Complex; -#endif - - /// - /// Defines an that monitors the numbers of iteration - /// steps as stop criterium. - /// - public sealed class IterationCountStopCriterium : IIterationStopCriterium - { - /// - /// The default value for the maximum number of iterations the process is allowed - /// to perform. - /// - public const int DefaultMaximumNumberOfIterations = 1000; - - /// - /// The default status. - /// - private static readonly ICalculationStatus DefaultStatus = new CalculationIndetermined(); - - /// - /// The maximum number of iterations the calculation is allowed to perform. - /// - private int _maximumNumberOfIterations; - - /// - /// The status of the calculation - /// - private ICalculationStatus _status = DefaultStatus; - - /// - /// Initializes a new instance of the class with the default maximum - /// number of iterations. - /// - public IterationCountStopCriterium() : this(DefaultMaximumNumberOfIterations) - { - } - - /// - /// Initializes a new instance of the class with the specified maximum - /// number of iterations. - /// - /// The maximum number of iterations the calculation is allowed to perform. - public IterationCountStopCriterium(int maximumNumberOfIterations) - { - if (maximumNumberOfIterations < 1) - { - throw new ArgumentOutOfRangeException("maximumNumberOfIterations"); - } - - _maximumNumberOfIterations = maximumNumberOfIterations; - } - - /// - /// Gets or sets the maximum number of iterations the calculation is allowed to perform. - /// - /// Thrown if the Maximum is set to a negative value. - public int MaximumNumberOfIterations - { - [DebuggerStepThrough] - get - { - return _maximumNumberOfIterations; - } - - [DebuggerStepThrough] - set - { - if (value < 1) - { - throw new ArgumentOutOfRangeException("value"); - } - - _maximumNumberOfIterations = value; - } - } - - /// - /// Returns the maximum number of iterations to the default. - /// - public void ResetMaximumNumberOfIterationsToDefault() - { - _maximumNumberOfIterations = DefaultMaximumNumberOfIterations; - } - - /// - /// Determines the status of the iterative calculation based on the stop criteria stored - /// by the current . Result is set into Status field. - /// - /// The number of iterations that have passed so far. - /// The vector containing the current solution values. - /// The right hand side vector. - /// The vector containing the current residual vectors. - /// - /// The individual stop criteria may internally track the progress of the calculation based - /// on the invocation of this method. Therefore this method should only be called if the - /// calculation has moved forwards at least one step. - /// - public void DetermineStatus(int iterationNumber, Vector solutionVector, Vector sourceVector, Vector residualVector) - { - if (iterationNumber < 0) - { - throw new ArgumentOutOfRangeException("iterationNumber"); - } - - if (iterationNumber >= _maximumNumberOfIterations) - { - SetStatusToFinished(); - } - else - { - SetStatusToRunning(); - } - } - - /// - /// Set status to - /// - private void SetStatusToFinished() - { - if (!(_status is CalculationStoppedWithoutConvergence)) - { - _status = new CalculationStoppedWithoutConvergence(); - } - } - - /// - /// Set status to - /// - private void SetStatusToRunning() - { - if (!(_status is CalculationRunning)) - { - _status = new CalculationRunning(); - } - } - - /// - /// Gets the current calculation status. - /// - public ICalculationStatus Status - { - [DebuggerStepThrough] - get - { - return _status; - } - } - - /// - /// Resets the to the pre-calculation state. - /// - public void ResetToPrecalculationState() - { - _status = DefaultStatus; - } - - /// - /// Gets the which indicates what sort of stop criterium this - /// monitors. - /// - /// Returns . - public StopLevel StopLevel - { - [DebuggerStepThrough] - get - { - return StopLevel.StoppedWithoutConvergence; - } - } - - /// - /// Clones the current and its settings. - /// - /// A new instance of the class. - public IIterationStopCriterium Clone() - { - return new IterationCountStopCriterium(_maximumNumberOfIterations); - } - } -} diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterator.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterator.cs index 22cc5e6c..13432126 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterator.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/Iterator.cs @@ -59,7 +59,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers var iterator = new Iterator(); iterator.Add(new FailureStopCriterium()); iterator.Add(new DivergenceStopCriterium()); - iterator.Add(new IterationCountStopCriterium()); + iterator.Add(new IterationCountStopCriterium()); iterator.Add(new ResidualStopCriterium()); return iterator; diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/IterationCountStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/IterationCountStopCriterium.cs deleted file mode 100644 index b95cb5fd..00000000 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/IterationCountStopCriterium.cs +++ /dev/null @@ -1,217 +0,0 @@ -// -// Math.NET Numerics, part of the Math.NET Project -// http://numerics.mathdotnet.com -// http://github.com/mathnet/mathnet-numerics -// http://mathnetnumerics.codeplex.com -// -// Copyright (c) 2009-2010 Math.NET -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Diagnostics; -using MathNet.Numerics.LinearAlgebra.Solvers.Status; -using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; - -namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium -{ - using Numerics; - - /// - /// Defines an that monitors the numbers of iteration - /// steps as stop criterium. - /// - public sealed class IterationCountStopCriterium : IIterationStopCriterium - { - /// - /// The default value for the maximum number of iterations the process is allowed - /// to perform. - /// - public const int DefaultMaximumNumberOfIterations = 1000; - - /// - /// The default status. - /// - private static readonly ICalculationStatus DefaultStatus = new CalculationIndetermined(); - - /// - /// The maximum number of iterations the calculation is allowed to perform. - /// - private int _maximumNumberOfIterations; - - /// - /// The status of the calculation - /// - private ICalculationStatus _status = DefaultStatus; - - /// - /// Initializes a new instance of the class with the default maximum - /// number of iterations. - /// - public IterationCountStopCriterium() : this(DefaultMaximumNumberOfIterations) - { - } - - /// - /// Initializes a new instance of the class with the specified maximum - /// number of iterations. - /// - /// The maximum number of iterations the calculation is allowed to perform. - public IterationCountStopCriterium(int maximumNumberOfIterations) - { - if (maximumNumberOfIterations < 1) - { - throw new ArgumentOutOfRangeException("maximumNumberOfIterations"); - } - - _maximumNumberOfIterations = maximumNumberOfIterations; - } - - /// - /// Gets or sets the maximum number of iterations the calculation is allowed to perform. - /// - /// Thrown if the Maximum is set to a negative value. - public int MaximumNumberOfIterations - { - [DebuggerStepThrough] - get - { - return _maximumNumberOfIterations; - } - - [DebuggerStepThrough] - set - { - if (value < 1) - { - throw new ArgumentOutOfRangeException("value"); - } - - _maximumNumberOfIterations = value; - } - } - - /// - /// Returns the maximum number of iterations to the default. - /// - public void ResetMaximumNumberOfIterationsToDefault() - { - _maximumNumberOfIterations = DefaultMaximumNumberOfIterations; - } - - /// - /// Determines the status of the iterative calculation based on the stop criteria stored - /// by the current . Result is set into Status field. - /// - /// The number of iterations that have passed so far. - /// The vector containing the current solution values. - /// The right hand side vector. - /// The vector containing the current residual vectors. - /// - /// The individual stop criteria may internally track the progress of the calculation based - /// on the invocation of this method. Therefore this method should only be called if the - /// calculation has moved forwards at least one step. - /// - public void DetermineStatus(int iterationNumber, Vector solutionVector, Vector sourceVector, Vector residualVector) - { - if (iterationNumber < 0) - { - throw new ArgumentOutOfRangeException("iterationNumber"); - } - - if (iterationNumber >= _maximumNumberOfIterations) - { - SetStatusToFinished(); - } - else - { - SetStatusToRunning(); - } - } - - /// - /// Set status to - /// - private void SetStatusToFinished() - { - if (!(_status is CalculationStoppedWithoutConvergence)) - { - _status = new CalculationStoppedWithoutConvergence(); - } - } - - /// - /// Set status to - /// - private void SetStatusToRunning() - { - if (!(_status is CalculationRunning)) - { - _status = new CalculationRunning(); - } - } - - /// - /// Gets the current calculation status. - /// - public ICalculationStatus Status - { - [DebuggerStepThrough] - get - { - return _status; - } - } - - /// - /// Resets the to the pre-calculation state. - /// - public void ResetToPrecalculationState() - { - _status = DefaultStatus; - } - - /// - /// Gets the which indicates what sort of stop criterium this - /// monitors. - /// - /// Returns . - public StopLevel StopLevel - { - [DebuggerStepThrough] - get - { - return StopLevel.StoppedWithoutConvergence; - } - } - - /// - /// Clones the current and its settings. - /// - /// A new instance of the class. - public IIterationStopCriterium Clone() - { - return new IterationCountStopCriterium(_maximumNumberOfIterations); - } - } -} diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs b/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs index c5cb809d..bf5fbf15 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/Iterator.cs @@ -28,13 +28,13 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using System.Linq; using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using MathNet.Numerics.Properties; -using System; -using System.Collections.Generic; -using System.Linq; namespace MathNet.Numerics.LinearAlgebra.Double.Solvers { @@ -57,7 +57,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers var iterator = new Iterator(); iterator.Add(new FailureStopCriterium()); iterator.Add(new DivergenceStopCriterium()); - iterator.Add(new IterationCountStopCriterium()); + iterator.Add(new IterationCountStopCriterium()); iterator.Add(new ResidualStopCriterium()); return iterator; diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/IterationCountStopCriterium.cs b/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/IterationCountStopCriterium.cs deleted file mode 100644 index c406ef93..00000000 --- a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/IterationCountStopCriterium.cs +++ /dev/null @@ -1,215 +0,0 @@ -// -// Math.NET Numerics, part of the Math.NET Project -// http://numerics.mathdotnet.com -// http://github.com/mathnet/mathnet-numerics -// http://mathnetnumerics.codeplex.com -// -// Copyright (c) 2009-2010 Math.NET -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Diagnostics; -using MathNet.Numerics.LinearAlgebra.Solvers.Status; -using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; - -namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium -{ - /// - /// Defines an that monitors the numbers of iteration - /// steps as stop criterium. - /// - public sealed class IterationCountStopCriterium : IIterationStopCriterium - { - /// - /// The default value for the maximum number of iterations the process is allowed - /// to perform. - /// - public const int DefaultMaximumNumberOfIterations = 1000; - - /// - /// The default status. - /// - private static readonly ICalculationStatus DefaultStatus = new CalculationIndetermined(); - - /// - /// The maximum number of iterations the calculation is allowed to perform. - /// - private int _maximumNumberOfIterations; - - /// - /// The status of the calculation - /// - private ICalculationStatus _status = DefaultStatus; - - /// - /// Initializes a new instance of the class with the default maximum - /// number of iterations. - /// - public IterationCountStopCriterium() : this(DefaultMaximumNumberOfIterations) - { - } - - /// - /// Initializes a new instance of the class with the specified maximum - /// number of iterations. - /// - /// The maximum number of iterations the calculation is allowed to perform. - public IterationCountStopCriterium(int maximumNumberOfIterations) - { - if (maximumNumberOfIterations < 1) - { - throw new ArgumentOutOfRangeException("maximumNumberOfIterations"); - } - - _maximumNumberOfIterations = maximumNumberOfIterations; - } - - /// - /// Gets or sets the maximum number of iterations the calculation is allowed to perform. - /// - /// Thrown if the Maximum is set to a negative value. - public int MaximumNumberOfIterations - { - [DebuggerStepThrough] - get - { - return _maximumNumberOfIterations; - } - - [DebuggerStepThrough] - set - { - if (value < 1) - { - throw new ArgumentOutOfRangeException("value"); - } - - _maximumNumberOfIterations = value; - } - } - - /// - /// Returns the maximum number of iterations to the default. - /// - public void ResetMaximumNumberOfIterationsToDefault() - { - _maximumNumberOfIterations = DefaultMaximumNumberOfIterations; - } - - /// - /// Determines the status of the iterative calculation based on the stop criteria stored - /// by the current . Result is set into Status field. - /// - /// The number of iterations that have passed so far. - /// The vector containing the current solution values. - /// The right hand side vector. - /// The vector containing the current residual vectors. - /// - /// The individual stop criteria may internally track the progress of the calculation based - /// on the invocation of this method. Therefore this method should only be called if the - /// calculation has moved forwards at least one step. - /// - public void DetermineStatus(int iterationNumber, Vector solutionVector, Vector sourceVector, Vector residualVector) - { - if (iterationNumber < 0) - { - throw new ArgumentOutOfRangeException("iterationNumber"); - } - - if (iterationNumber >= _maximumNumberOfIterations) - { - SetStatusToFinished(); - } - else - { - SetStatusToRunning(); - } - } - - /// - /// Set status to - /// - private void SetStatusToFinished() - { - if (!(_status is CalculationStoppedWithoutConvergence)) - { - _status = new CalculationStoppedWithoutConvergence(); - } - } - - /// - /// Set status to - /// - private void SetStatusToRunning() - { - if (!(_status is CalculationRunning)) - { - _status = new CalculationRunning(); - } - } - - /// - /// Gets the current calculation status. - /// - public ICalculationStatus Status - { - [DebuggerStepThrough] - get - { - return _status; - } - } - - /// - /// Resets the to the pre-calculation state. - /// - public void ResetToPrecalculationState() - { - _status = DefaultStatus; - } - - /// - /// Gets the which indicates what sort of stop criterium this - /// monitors. - /// - /// Returns . - public StopLevel StopLevel - { - [DebuggerStepThrough] - get - { - return StopLevel.StoppedWithoutConvergence; - } - } - - /// - /// Clones the current and its settings. - /// - /// A new instance of the class. - public IIterationStopCriterium Clone() - { - return new IterationCountStopCriterium(_maximumNumberOfIterations); - } - } -} diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/Iterator.cs b/src/Numerics/LinearAlgebra/Single/Solvers/Iterator.cs index 9c573c91..97c2cda1 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/Iterator.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/Iterator.cs @@ -28,13 +28,13 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; +using System.Linq; using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using MathNet.Numerics.Properties; -using System; -using System.Collections.Generic; -using System.Linq; namespace MathNet.Numerics.LinearAlgebra.Single.Solvers { @@ -57,7 +57,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers var iterator = new Iterator(); iterator.Add(new FailureStopCriterium()); iterator.Add(new DivergenceStopCriterium()); - iterator.Add(new IterationCountStopCriterium()); + iterator.Add(new IterationCountStopCriterium()); iterator.Add(new ResidualStopCriterium()); return iterator; diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/IterationCountStopCriterium.cs b/src/Numerics/LinearAlgebra/Solvers/StopCriterium/IterationCountStopCriterium.cs similarity index 89% rename from src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/IterationCountStopCriterium.cs rename to src/Numerics/LinearAlgebra/Solvers/StopCriterium/IterationCountStopCriterium.cs index 1d392372..f59b93f6 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/IterationCountStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Solvers/StopCriterium/IterationCountStopCriterium.cs @@ -28,18 +28,17 @@ // OTHER DEALINGS IN THE SOFTWARE. // -using MathNet.Numerics.LinearAlgebra.Solvers.Status; -using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using System; using System.Diagnostics; +using MathNet.Numerics.LinearAlgebra.Solvers.Status; -namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium +namespace MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium { /// /// Defines an that monitors the numbers of iteration /// steps as stop criterium. /// - public sealed class IterationCountStopCriterium : IIterationStopCriterium + public sealed class IterationCountStopCriterium : IIterationStopCriterium where T : struct, IEquatable, IFormattable { /// /// The default value for the maximum number of iterations the process is allowed @@ -63,7 +62,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium private ICalculationStatus _status = DefaultStatus; /// - /// Initializes a new instance of the class with the default maximum + /// Initializes a new instance of the class with the default maximum /// number of iterations. /// public IterationCountStopCriterium() : this(DefaultMaximumNumberOfIterations) @@ -71,7 +70,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium } /// - /// Initializes a new instance of the class with the specified maximum + /// Initializes a new instance of the class with the specified maximum /// number of iterations. /// /// The maximum number of iterations the calculation is allowed to perform. @@ -119,7 +118,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium /// /// Determines the status of the iterative calculation based on the stop criteria stored - /// by the current . Result is set into Status field. + /// by the current . Result is set into Status field. /// /// The number of iterations that have passed so far. /// The vector containing the current solution values. @@ -130,7 +129,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium /// on the invocation of this method. Therefore this method should only be called if the /// calculation has moved forwards at least one step. /// - public void DetermineStatus(int iterationNumber, Vector solutionVector, Vector sourceVector, Vector residualVector) + public void DetermineStatus(int iterationNumber, Vector solutionVector, Vector sourceVector, Vector residualVector) { if (iterationNumber < 0) { @@ -182,7 +181,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium } /// - /// Resets the to the pre-calculation state. + /// Resets the to the pre-calculation state. /// public void ResetToPrecalculationState() { @@ -191,7 +190,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium /// /// Gets the which indicates what sort of stop criterium this - /// monitors. + /// monitors. /// /// Returns . public StopLevel StopLevel @@ -204,13 +203,12 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium } /// - /// Clones the current and its settings. + /// Clones the current and its settings. /// - /// A new instance of the class. - public IIterationStopCriterium Clone() + /// A new instance of the class. + public IIterationStopCriterium Clone() { - return new IterationCountStopCriterium(_maximumNumberOfIterations); + return new IterationCountStopCriterium(_maximumNumberOfIterations); } - } } diff --git a/src/Numerics/Numerics.csproj b/src/Numerics/Numerics.csproj index accb0d35..1b926c4f 100644 --- a/src/Numerics/Numerics.csproj +++ b/src/Numerics/Numerics.csproj @@ -122,7 +122,7 @@ - + @@ -258,7 +258,6 @@ - @@ -286,7 +285,6 @@ - @@ -335,7 +333,6 @@ - diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs index 9e25f69d..cd33a8f3 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/BiCgStabTest.cs @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -143,7 +143,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -221,7 +221,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -262,7 +262,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new BiCgStab(monitor); @@ -294,7 +294,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new BiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs index 7d110611..da477a6a 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/GpBiCgTest.cs @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -143,7 +143,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -222,7 +222,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -264,7 +264,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new GpBiCg(monitor); @@ -296,7 +296,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new GpBiCg(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs index 2b13ce99..ac8d195e 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/MlkBiCgStabTest.cs @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -144,7 +144,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -222,7 +222,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -263,7 +263,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new MlkBiCgStab(monitor); @@ -295,7 +295,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new MlkBiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs index f714d85d..8c43bf34 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/Iterative/TFQMRTest.cs @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -144,7 +144,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -222,7 +222,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -263,7 +263,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new TFQMR(monitor); @@ -295,7 +295,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.Iterativ var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new TFQMR(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/IteratorTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/IteratorTest.cs index 9a12d81c..a4e6ef73 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/IteratorTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/IteratorTest.cs @@ -103,7 +103,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -150,7 +150,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(); @@ -180,7 +180,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -199,7 +199,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), }; var iterator = new Iterator(criteria); Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count"); @@ -218,7 +218,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -255,7 +255,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -277,7 +277,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -299,7 +299,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -321,7 +321,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -343,7 +343,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -375,7 +375,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -405,7 +405,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index cb2f4983..c1850c6a 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -28,14 +28,16 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Complex; -using MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; +using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCriterium { + using System.Numerics; + /// /// Iteration count stop criterium tests. /// @@ -48,7 +50,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit [Test] public void CreateWithIllegalMinimumIterationsThrowsArgumentOutOfRangeException() { - Assert.Throws(() => new IterationCountStopCriterium(-1)); + Assert.Throws(() => new IterationCountStopCriterium(-1)); } /// @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit [Test] public void Create() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); } @@ -67,13 +69,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit [Test] public void ResetMaximumIterations() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum number of iterations"); criterium.ResetMaximumNumberOfIterationsToDefault(); Assert.AreNotEqual(10, criterium.MaximumNumberOfIterations, "Should have reset"); - Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); + Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); } /// @@ -82,7 +84,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit [Test] public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.Throws(() => criterium.DetermineStatus(-1, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3))); @@ -94,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit [Test] public void DetermineStatus() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -110,7 +112,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit [Test] public void ResetCalculationState() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -126,14 +128,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit [Test] public void Clone() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum"); var clone = criterium.Clone(); - Assert.IsInstanceOf(typeof (IterationCountStopCriterium), clone, "Wrong criterium type"); + Assert.IsInstanceOf(typeof(IterationCountStopCriterium), clone, "Wrong criterium type"); - var clonedCriterium = clone as IterationCountStopCriterium; + var clonedCriterium = clone as IterationCountStopCriterium; Assert.IsNotNull(clonedCriterium); // ReSharper disable PossibleNullReferenceException diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs index c1fe25be..ac6c6cb5 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/BiCgStabTest.cs @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -143,7 +143,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -221,7 +221,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -266,7 +266,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new BiCgStab(monitor); @@ -309,7 +309,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)) }); var solver = new BiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs index acf227e3..5eb4e939 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/GpBiCgTest.cs @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -143,7 +143,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -222,7 +222,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -264,7 +264,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new GpBiCg(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs index c71d1c96..c06e9d86 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/MlkBiCgStabTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Complex32; using MathNet.Numerics.LinearAlgebra.Complex32.Solvers; using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterative { @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -144,7 +144,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -222,7 +222,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -263,7 +263,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new MlkBiCgStab(monitor); @@ -306,7 +306,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)) }); var solver = new MlkBiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs index f0845d74..4ad8dea8 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/Iterative/TFQMRTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Complex32; using MathNet.Numerics.LinearAlgebra.Complex32.Solvers; using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterative { @@ -98,7 +98,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -144,7 +144,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -222,7 +222,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -263,7 +263,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new TFQMR(monitor); @@ -306,7 +306,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.Iterat var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)) }); var solver = new TFQMR(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/IteratorTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/IteratorTest.cs index a2aeeaa7..d7067d03 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/IteratorTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/IteratorTest.cs @@ -103,7 +103,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -150,7 +150,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(); @@ -180,7 +180,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -199,7 +199,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), }; var iterator = new Iterator(criteria); Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count"); @@ -218,7 +218,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -255,7 +255,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -277,7 +277,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -299,7 +299,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -321,7 +321,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -343,7 +343,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -375,7 +375,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -405,7 +405,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index 3abb0def..2fa7f967 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -28,14 +28,16 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Complex32; -using MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; +using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCriterium { + using Numerics; + /// /// Iteration count stop criterium tests. /// @@ -48,7 +50,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr [Test] public void CreateWithIllegalMinimumIterationsThrowsArgumentOutOfRangeException() { - Assert.Throws(() => new IterationCountStopCriterium(-1)); + Assert.Throws(() => new IterationCountStopCriterium(-1)); } /// @@ -57,7 +59,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr [Test] public void Create() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); } @@ -67,13 +69,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr [Test] public void ResetMaximumIterations() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum number of iterations"); criterium.ResetMaximumNumberOfIterationsToDefault(); Assert.AreNotEqual(10, criterium.MaximumNumberOfIterations, "Should have reset"); - Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); + Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); } /// @@ -82,7 +84,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr [Test] public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.Throws(() => criterium.DetermineStatus(-1, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3))); @@ -94,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr [Test] public void DetermineStatus() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -110,7 +112,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr [Test] public void ResetCalculationState() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -126,14 +128,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr [Test] public void Clone() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum"); var clone = criterium.Clone(); - Assert.IsInstanceOf(typeof (IterationCountStopCriterium), clone, "Wrong criterium type"); + Assert.IsInstanceOf(typeof(IterationCountStopCriterium), clone, "Wrong criterium type"); - var clonedCriterium = clone as IterationCountStopCriterium; + var clonedCriterium = clone as IterationCountStopCriterium; Assert.IsNotNull(clonedCriterium); // ReSharper disable PossibleNullReferenceException diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs index cb27a596..f2ae2cdf 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/BiCgStabTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Double; using MathNet.Numerics.LinearAlgebra.Double.Solvers; using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative { @@ -96,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -141,7 +141,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -219,7 +219,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -264,7 +264,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new BiCgStab(monitor); @@ -295,7 +295,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10) }); var solver = new BiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs index 9e5cbb89..02643582 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/GpBiCgTest.cs @@ -96,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -141,7 +141,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -220,7 +220,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -266,7 +266,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new GpBiCg(monitor); @@ -297,7 +297,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10) }); var solver = new GpBiCg(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs index cda37ee9..12fc1946 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/MlkBiCgStabTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Double; using MathNet.Numerics.LinearAlgebra.Double.Solvers; using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative { @@ -96,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -142,7 +142,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -220,7 +220,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -265,7 +265,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new MlkBiCgStab(monitor); @@ -296,7 +296,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10) }); var solver = new MlkBiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs index de9328e3..562b3d27 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/Iterative/TFQMRTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Double; using MathNet.Numerics.LinearAlgebra.Double.Solvers; using MathNet.Numerics.LinearAlgebra.Double.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative { @@ -96,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -142,7 +142,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -220,7 +220,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -261,7 +261,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10), }); var solver = new TFQMR(monitor); @@ -292,7 +292,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(1000), + new IterationCountStopCriterium(1000), new ResidualStopCriterium(1e-10) }); var solver = new TFQMR(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/IteratorTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/IteratorTest.cs index 2c88a23d..994639b4 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/IteratorTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/IteratorTest.cs @@ -28,14 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; using MathNet.Numerics.LinearAlgebra.Double; using MathNet.Numerics.LinearAlgebra.Double.Solvers; using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; -using System.Collections.Generic; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { @@ -101,7 +101,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -148,7 +148,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(); @@ -178,7 +178,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -197,7 +197,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), }; var iterator = new Iterator(criteria); Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count"); @@ -216,7 +216,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -253,7 +253,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -275,7 +275,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -297,7 +297,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -319,7 +319,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -341,7 +341,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -373,7 +373,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -403,7 +403,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index 84a7d568..574cdd8c 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -28,11 +28,11 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Double; -using MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; +using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCriterium { @@ -48,7 +48,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite [Test] public void CreateWithIllegalMinimumIterationsThrowsArgumentOutOfRangeException() { - Assert.Throws(() => new IterationCountStopCriterium(-1)); + Assert.Throws(() => new IterationCountStopCriterium(-1)); } /// @@ -57,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite [Test] public void Create() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); } @@ -67,13 +67,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite [Test] public void ResetMaximumIterations() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum number of iterations"); criterium.ResetMaximumNumberOfIterationsToDefault(); Assert.AreNotEqual(10, criterium.MaximumNumberOfIterations, "Should have reset"); - Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); + Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); } /// @@ -82,7 +82,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite [Test] public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.Throws(() => criterium.DetermineStatus(-1, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3))); @@ -94,7 +94,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite [Test] public void DetermineStatus() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -110,7 +110,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite [Test] public void ResetCalculationState() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -126,14 +126,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite [Test] public void Clone() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum"); var clone = criterium.Clone(); - Assert.IsInstanceOf(typeof (IterationCountStopCriterium), clone, "Wrong criterium type"); + Assert.IsInstanceOf(typeof(IterationCountStopCriterium), clone, "Wrong criterium type"); - var clonedCriterium = clone as IterationCountStopCriterium; + var clonedCriterium = clone as IterationCountStopCriterium; Assert.IsNotNull(clonedCriterium); // ReSharper disable PossibleNullReferenceException diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs index 05c71a22..d8099612 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/BiCgStabTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Single; using MathNet.Numerics.LinearAlgebra.Single.Solvers; using MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative { @@ -96,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -141,7 +141,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -219,7 +219,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -262,7 +262,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new BiCgStab(monitor); @@ -303,7 +303,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)) }); var solver = new BiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs index d6ade093..d3953206 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/GpBiCgTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Single; using MathNet.Numerics.LinearAlgebra.Single.Solvers; using MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative { @@ -96,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -141,7 +141,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -220,7 +220,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -264,7 +264,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new GpBiCg(monitor); @@ -305,7 +305,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)) }); var solver = new GpBiCg(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs index 39e5225e..7a69763d 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/MlkBiCgStabTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra; using MathNet.Numerics.LinearAlgebra.Single; using MathNet.Numerics.LinearAlgebra.Single.Solvers; @@ -36,7 +37,6 @@ using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative { @@ -97,7 +97,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -143,7 +143,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -225,7 +225,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -281,7 +281,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new MlkBiCgStab(monitor); @@ -324,7 +324,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)) }); var solver = new MlkBiCgStab(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs index 7a20d262..f5c152c0 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/Iterative/TFQMRTest.cs @@ -28,6 +28,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Single; using MathNet.Numerics.LinearAlgebra.Single.Solvers; using MathNet.Numerics.LinearAlgebra.Single.Solvers.Iterative; @@ -35,7 +36,6 @@ using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative { @@ -96,7 +96,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -142,7 +142,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -220,7 +220,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative // Create an iteration monitor which will keep track of iterative convergence var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium(ConvergenceBoundary), new DivergenceStopCriterium(), new FailureStopCriterium() @@ -263,7 +263,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)), }); var solver = new TFQMR(monitor); @@ -304,7 +304,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.Iterative var monitor = new Iterator(new IIterationStopCriterium[] { - new IterationCountStopCriterium(MaximumIterations), + new IterationCountStopCriterium(MaximumIterations), new ResidualStopCriterium((float) Math.Pow(1.0/10.0, iteration)) }); var solver = new TFQMR(monitor); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/IteratorTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/IteratorTest.cs index c7d21eb3..2015e2bf 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/IteratorTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/IteratorTest.cs @@ -28,14 +28,14 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; +using System.Collections.Generic; using MathNet.Numerics.LinearAlgebra.Single; using MathNet.Numerics.LinearAlgebra.Single.Solvers; using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; -using System.Collections.Generic; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { @@ -101,7 +101,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -148,7 +148,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(); @@ -178,7 +178,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -197,7 +197,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), }; var iterator = new Iterator(criteria); Assert.AreEqual(criteria.Count, iterator.NumberOfCriteria, "Incorrect criterium count"); @@ -216,7 +216,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -253,7 +253,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -275,7 +275,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -297,7 +297,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -319,7 +319,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; var iterator = new Iterator(criteria); @@ -341,7 +341,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -373,7 +373,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(1) + new IterationCountStopCriterium(1) }; var iterator = new Iterator(criteria); @@ -403,7 +403,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers { new FailureStopCriterium(), new DivergenceStopCriterium(), - new IterationCountStopCriterium(), + new IterationCountStopCriterium(), new ResidualStopCriterium() }; diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index a36319e5..ddb6bf18 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -28,11 +28,11 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System; using MathNet.Numerics.LinearAlgebra.Single; -using MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium; using MathNet.Numerics.LinearAlgebra.Solvers.Status; +using MathNet.Numerics.LinearAlgebra.Solvers.StopCriterium; using NUnit.Framework; -using System; namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCriterium { @@ -48,7 +48,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite [Test] public void CreateWithIllegalMinimumIterationsThrowsArgumentOutOfRangeException() { - Assert.Throws(() => new IterationCountStopCriterium(-1)); + Assert.Throws(() => new IterationCountStopCriterium(-1)); } /// @@ -57,7 +57,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite [Test] public void Create() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); } @@ -67,13 +67,13 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite [Test] public void ResetMaximumIterations() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum number of iterations"); criterium.ResetMaximumNumberOfIterationsToDefault(); Assert.AreNotEqual(10, criterium.MaximumNumberOfIterations, "Should have reset"); - Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); + Assert.AreEqual(IterationCountStopCriterium.DefaultMaximumNumberOfIterations, criterium.MaximumNumberOfIterations, "Reset to the wrong value"); } /// @@ -82,7 +82,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite [Test] public void DetermineStatusWithIllegalIterationNumberThrowsArgumentOutOfRangeException() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.Throws(() => criterium.DetermineStatus(-1, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3))); @@ -94,7 +94,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite [Test] public void DetermineStatus() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -110,7 +110,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite [Test] public void ResetCalculationState() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); @@ -126,14 +126,14 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite [Test] public void Clone() { - var criterium = new IterationCountStopCriterium(10); + var criterium = new IterationCountStopCriterium(10); Assert.IsNotNull(criterium, "A criterium should have been created"); Assert.AreEqual(10, criterium.MaximumNumberOfIterations, "Incorrect maximum"); var clone = criterium.Clone(); - Assert.IsInstanceOf(typeof (IterationCountStopCriterium), clone, "Wrong criterium type"); + Assert.IsInstanceOf(typeof(IterationCountStopCriterium), clone, "Wrong criterium type"); - var clonedCriterium = clone as IterationCountStopCriterium; + var clonedCriterium = clone as IterationCountStopCriterium; Assert.IsNotNull(clonedCriterium); // ReSharper disable PossibleNullReferenceException