IncompleteCholeskyPreconditioner<T> Constructor

Definition

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

Overload List

IncompleteCholeskyPreconditioner<T>(SparseMatrix<T>)Constructs an IC(0) preconditioner with explicit pivot protection, shift, scaling and ordering options.
IncompleteCholeskyPreconditioner<T>(SparseMatrix<T>, T, T, Boolean, Permutation)Constructs an IC(0) preconditioner with explicit pivot protection, shift, scaling and ordering options.

IncompleteCholeskyPreconditioner<T>(SparseMatrix<T>)

Constructs an IC(0) preconditioner with explicit pivot protection, shift, scaling and ordering options.
C#
public IncompleteCholeskyPreconditioner(
	SparseMatrix<T> matrix
)

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; coefficients are not implicitly symmetrized.

Remarks

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

Exceptions

ArgumentNullExceptionmatrix is null.
DimensionMismatchExceptionThe matrix is not square or the ordering has the wrong length.
ArgumentOutOfRangeExceptionA tuning value is outside its valid range.
ArgumentExceptionThe matrix is unsupported or non-Hermitian, coefficients/factors are nonfinite, or the ordering is not a permutation.
MatrixNotPositiveDefiniteExceptionA pivot is missing, nonpositive or below the relative pivot tolerance.

IncompleteCholeskyPreconditioner<T>(SparseMatrix<T>, T, T, Boolean, Permutation)

Constructs an IC(0) preconditioner with explicit pivot protection, shift, scaling and ordering options.
C#
public IncompleteCholeskyPreconditioner(
	SparseMatrix<T> matrix,
	T relativePivotTolerance,
	T relativeDiagonalShift,
	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; coefficients are not implicitly symmetrized.
relativePivotTolerance  T
A finite real value in [0, 1). The Cholesky pivot before taking its square root divided by the maximum magnitude in its shifted row 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.
equilibrate  Boolean  (Optional)
Whether to apply symmetric row/column scaling using the square roots of the shifted row maxima.
ordering  Permutation  (Optional)
An optional copied permutation mapping factor coordinates to original coordinates. The same permutation is applied to rows and columns. Null uses natural ordering.

Exceptions

ArgumentNullExceptionmatrix is null.
DimensionMismatchExceptionThe matrix is not square or the ordering has the wrong length.
ArgumentOutOfRangeExceptionA tuning value is outside its valid range.
ArgumentExceptionThe matrix is unsupported or non-Hermitian, coefficients/factors are nonfinite, or the ordering is not a permutation.
MatrixNotPositiveDefiniteExceptionA pivot is missing, nonpositive or below the relative pivot tolerance.

See Also