ThresholdIncompleteCholeskyPreconditioner<T> Constructor

Definition

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

Overload List

ThresholdIncompleteCholeskyPreconditioner<T>(SparseMatrix<T>, T, Int32)Constructs threshold incomplete Cholesky with explicit dropping, fill, pivot protection and modification options.
ThresholdIncompleteCholeskyPreconditioner<T>(SparseMatrix<T>, T, Int32, T, T, Boolean, Boolean, Permutation)Constructs threshold incomplete Cholesky with explicit dropping, fill, pivot protection and modification options.

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

Constructs threshold incomplete Cholesky with explicit dropping, fill, pivot protection and modification options.
C#
public ThresholdIncompleteCholeskyPreconditioner(
	SparseMatrix<T> matrix,
	T dropTolerance,
	int maximumNonzerosPerColumn
)

Parameters

matrix  SparseMatrix<T>
A square sparse matrix with finite Hermitian logical coefficients. General, symmetric, Hermitian and diagonal structures are supported. General matrices must agree exactly with their conjugate transpose.
dropTolerance  T
A finite nonnegative real value. Discards nonzero Schur off-diagonal coefficients at or below this value times the maximum magnitude of the original shifted/scaled lower column. The diagonal is never dropped.
maximumNonzerosPerColumn  Int32
A nonnegative cap on retained off-diagonal factor entries in each column. Keeps the largest eligible Schur magnitudes, breaking ties by smaller row index. Zero produces a diagonal factor.

Remarks

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

Exceptions

ArgumentNullExceptionmatrix is null.
DimensionMismatchExceptionThe matrix is not square or the ordering has the wrong length.
ArgumentOutOfRangeExceptionA tuning value or fill cap is outside its valid range.
ArgumentExceptionThe matrix is unsupported or non-Hermitian, the ordering is invalid, or a coefficient, threshold or factor is unrepresentable.
NotSupportedExceptionModification was requested for a non-real scalar type.
MatrixNotPositiveDefiniteExceptionA pivot is missing, nonpositive or below the relative pivot tolerance.

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

Constructs threshold incomplete Cholesky with explicit dropping, fill, pivot protection and modification options.
C#
public ThresholdIncompleteCholeskyPreconditioner(
	SparseMatrix<T> matrix,
	T dropTolerance,
	int maximumNonzerosPerColumn,
	T relativePivotTolerance,
	T relativeDiagonalShift,
	bool modified = false,
	bool equilibrate = false,
	Permutation? ordering = null
)

Parameters

matrix  SparseMatrix<T>
A square sparse matrix with finite Hermitian logical coefficients. General, symmetric, Hermitian and diagonal structures are supported. General matrices must agree exactly with their conjugate transpose.
dropTolerance  T
A finite nonnegative real value. Discards nonzero Schur off-diagonal coefficients at or below this value times the maximum magnitude of the original shifted/scaled lower column. The diagonal is never dropped.
maximumNonzerosPerColumn  Int32
A nonnegative cap on retained off-diagonal factor entries in each column. Keeps the largest eligible Schur magnitudes, breaking ties by smaller row index. Zero produces a diagonal factor.
relativePivotTolerance  T
A finite real value in [0,1). Each pivot before taking its square root, divided by its original shifted row maximum magnitude, must exceed this value.
relativeDiagonalShift  T
A finite nonnegative real value. Adds this value times the original row maximum magnitude to that diagonal, using unit scale for an empty row. Only the preconditioner target is shifted.
modified  Boolean  (Optional)
Whether to compensate dropped Schur coefficients on both incident diagonals. Requires a real scalar type and preserves the action on the constant vector in factor coordinates, up to rounding.
equilibrate  Boolean  (Optional)
Whether to divide coefficients by square roots of shifted row and column maxima. Applications undo this symmetric scaling on both sides; modification preserves the scaled-coordinate constant vector.
ordering  Permutation  (Optional)
An optional copied permutation mapping factor coordinates to original coordinates. Null uses natural ordering.

Exceptions

ArgumentNullExceptionmatrix is null.
DimensionMismatchExceptionThe matrix is not square or the ordering has the wrong length.
ArgumentOutOfRangeExceptionA tuning value or fill cap is outside its valid range.
ArgumentExceptionThe matrix is unsupported or non-Hermitian, the ordering is invalid, or a coefficient, threshold or factor is unrepresentable.
NotSupportedExceptionModification was requested for a non-real scalar type.
MatrixNotPositiveDefiniteExceptionA pivot is missing, nonpositive or below the relative pivot tolerance.

See Also