Threshold Incomplete Cholesky Preconditioner<T> Constructor
Definition
Namespace: Numerics.NET.LinearAlgebra.IterativeSolvers.Preconditioners
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.9.0
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.9.0
Overload List
| Threshold | Constructs threshold incomplete Cholesky with explicit dropping, fill, pivot protection and modification options. |
| Threshold | 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.
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
| Argument | matrix is null. |
| Dimension | The matrix is not square or the ordering has the wrong length. |
| Argument | A tuning value or fill cap is outside its valid range. |
| Argument | The matrix is unsupported or non-Hermitian, the ordering is invalid, or a coefficient, threshold or factor is unrepresentable. |
| Not | Modification was requested for a non-real scalar type. |
| Matrix | A 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.
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
| Argument | matrix is null. |
| Dimension | The matrix is not square or the ordering has the wrong length. |
| Argument | A tuning value or fill cap is outside its valid range. |
| Argument | The matrix is unsupported or non-Hermitian, the ordering is invalid, or a coefficient, threshold or factor is unrepresentable. |
| Not | Modification was requested for a non-real scalar type. |
| Matrix | A pivot is missing, nonpositive or below the relative pivot tolerance. |