ThresholdIncompleteLUPreconditioner<T> Constructor

Definition

Namespace: Numerics.NET.LinearAlgebra.IterativeSolvers.Preconditioners
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.9.0

Overload List

ThresholdIncompleteLUPreconditioner<T>(SparseMatrix<T>, T, Int32)Constructs an ILUT preconditioner with explicit dropping, fill and pivot options.
ThresholdIncompleteLUPreconditioner<T>(SparseMatrix<T>, T, Int32, T, T, Boolean, Permutation)Constructs an ILUT preconditioner with explicit dropping, fill and pivot options.

ThresholdIncompleteLUPreconditioner<T>(SparseMatrix<T>, T, Int32)

Constructs an ILUT preconditioner with explicit dropping, fill and pivot options.
C#
public ThresholdIncompleteLUPreconditioner(
	SparseMatrix<T> matrix,
	T dropTolerance,
	int maximumFillPerRow
)

Parameters

matrix  SparseMatrix<T>
A non-null square sparse matrix with finite logical coefficients.
dropTolerance  T
A finite nonnegative real dropping tolerance. Zero disables magnitude dropping of nonzero entries.
maximumFillPerRow  Int32
The nonnegative maximum number of retained entries in each strict L and strict U row. The diagonal is additional. Values beyond matrix order minus one are effectively clamped.

Remarks

Uses natural ordering, no shift or equilibration, and a relative pivot tolerance of 100 times scalar machine epsilon.

Exceptions

ArgumentNullExceptionThe matrix is null.
DimensionMismatchExceptionThe matrix is not square or ordering has the wrong length.
ArgumentOutOfRangeExceptionA tuning value or fill cap is invalid, or factor storage cannot be indexed.
ArgumentExceptionOrdering is not a permutation, or a coefficient/factor/threshold is nonfinite.
MatrixSingularExceptionAn ILUT pivot is zero or relatively too small.

ThresholdIncompleteLUPreconditioner<T>(SparseMatrix<T>, T, Int32, T, T, Boolean, Permutation)

Constructs an ILUT preconditioner with explicit dropping, fill and pivot options.
C#
public ThresholdIncompleteLUPreconditioner(
	SparseMatrix<T> matrix,
	T dropTolerance,
	int maximumFillPerRow,
	T relativePivotTolerance,
	T relativeDiagonalShift,
	bool equilibrateRows = false,
	Permutation? ordering = null
)

Parameters

matrix  SparseMatrix<T>
A non-null square sparse matrix with finite logical coefficients.
dropTolerance  T
A finite nonnegative real dropping tolerance. Zero disables magnitude dropping of nonzero entries.
maximumFillPerRow  Int32
The nonnegative maximum number of retained entries in each strict L and strict U row. The diagonal is additional. Values beyond matrix order minus one are effectively clamped.
relativePivotTolerance  T
A finite real value in [0,1). Pivot magnitudes relative to the shifted row maximum must exceed this value.
relativeDiagonalShift  T
A finite nonnegative real value. Adds this value times each original row maximum magnitude to that diagonal, using unit scale for an empty row. Only the preconditioner is shifted.
equilibrateRows  Boolean  (Optional)
Whether to divide each shifted row by its maximum magnitude before factorization.
ordering  Permutation  (Optional)
An optional copied symmetric permutation mapping factor coordinates to original coordinates. Null uses natural ordering.

Exceptions

ArgumentNullExceptionThe matrix is null.
DimensionMismatchExceptionThe matrix is not square or ordering has the wrong length.
ArgumentOutOfRangeExceptionA tuning value or fill cap is invalid, or factor storage cannot be indexed.
ArgumentExceptionOrdering is not a permutation, or a coefficient/factor/threshold is nonfinite.
MatrixSingularExceptionAn ILUT pivot is zero or relatively too small.

See Also