## Types in MathNet.Numerics.LinearAlgebra.Solvers

Type ResidualStopCriterion<T>

Namespace MathNet.Numerics.LinearAlgebra.Solvers

Interfaces IIterationStopCriterion<T>

Defines an IIterationStopCriterion<T> that monitors residuals as stop criterion.

### Public Constructors

#### ResidualStopCriterion<T>(double maximum, int minimumIterationsBelowMaximum)

Initializes a new instance of the ResidualStopCriterion<T> class with the specified maximum residual and minimum number of iterations.
##### Parameters
###### `double` maximum

The maximum value for the residual below which the calculation is considered converged.

###### `int` minimumIterationsBelowMaximum

The minimum number of iterations for which the residual has to be below the maximum before the calculation is considered converged.

### Public Methods

#### IIterationStopCriterion<T>Clone()

Clones the current ResidualStopCriterion<T> and its settings.
##### Return
###### `IIterationStopCriterion<T>`

A new instance of the ResidualStopCriterion`1 class.

#### IterationStatusDetermineStatus(int iterationNumber, Vector<T> solutionVector, Vector<T> sourceVector, Vector<T> residualVector)

Determines the status of the iterative calculation based on the stop criteria stored by the current IIterationStopCriterion<T>. Result is set into `Status` field.
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.
##### Parameters
###### `int` iterationNumber

The number of iterations that have passed so far.

###### `Vector<T>` solutionVector

The vector containing the current solution values.

###### `Vector<T>` sourceVector

The right hand side vector.

###### `Vector<T>` residualVector

The vector containing the current residual vectors.

#### voidReset()

Resets the IIterationStopCriterion<T> to the pre-calculation state.

### Public Properties

#### doubleMaximum get; set;

Gets or sets the maximum value for the residual below which the calculation is considered converged.

#### intMinimumIterationsBelowMaximum get; set;

Gets or sets the minimum number of iterations for which the residual has to be below the maximum before the calculation is considered converged.

#### IterationStatusStatus get;

Gets the current calculation status.