JacobiPreconditioner<T> Class

Represents diagonal (Jacobi) preconditioning.

Definition

Namespace: Numerics.NET.LinearAlgebra.IterativeSolvers.Preconditioners
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.9.0
C#
public class JacobiPreconditioner<T> : Preconditioner<T>
Inheritance
Object  →  LinearOperator<T>  →  Preconditioner<T>  →  JacobiPreconditioner<T>

Type Parameters

T

Remarks

The diagonal is captured during construction. Call Refresh() after changing matrix values. Applications with distinct destinations can run concurrently; refresh requires exclusive access.

Constructors

JacobiPreconditioner<T>(Matrix<T>)Constructs a Jacobi preconditioner with an optional diagonal magnitude floor.
JacobiPreconditioner<T>(Matrix<T>, T)Constructs a Jacobi preconditioner with an optional diagonal magnitude floor.

Properties

ColumnCount Gets the number of columns in the matrix.
(Inherited from LinearOperator<T>)
ColumnIndex Gets or sets the index of labels for the columns of the matrix.
(Inherited from LinearOperator<T>)
ElementType Gets the element type of the matrix.
(Inherited from LinearOperator<T>)
LinearOperator Gets the linear operator to which the Preconditioner<T> applies.
(Inherited from Preconditioner<T>)
MinimumDiagonalMagnitudeGets the requested diagonal magnitude floor.
RegularizedDiagonalCountGets the number of diagonal entries floored in the most recent successful refresh.
RowCount Gets the number of rows in the matrix.
(Inherited from LinearOperator<T>)
RowIndex Gets or sets the index of labels for the rows of the matrix.
(Inherited from LinearOperator<T>)

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
EstimateConditionNumber Calculates an estimate for the condition number of a matrix.
(Inherited from LinearOperator<T>)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetDeterminant Calculates the determinant of a matrix.
(Inherited from LinearOperator<T>)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetInverse() Calculates the inverse matrix..
(Inherited from LinearOperator<T>)
GetInverse(Boolean) Calculates the inverse of the factorized matrix.
(Inherited from LinearOperator<T>)
GetTypeGets the Type of the current instance.
(Inherited from Object)
IsSingular Gets whether the matrix is singular.
(Inherited from LinearOperator<T>)
LeastSquaresSolve(Matrix<T>) Solves the system of linear equations for the specified right-hand side matrix in the least squares sense.
(Inherited from LinearOperator<T>)
LeastSquaresSolve(Vector<T>) Solves the system of linear equations for the specified right-hand side vector.
(Inherited from LinearOperator<T>)
LeastSquaresSolve(DenseMatrix<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense matrix in the least squares sense and optionally overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>)
LeastSquaresSolve(DenseVector<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense vector in the least squares sense and optionally overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>)
LeastSquaresSolveInto(Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides in the least squares sense.
(Inherited from LinearOperator<T>)
LeastSquaresSolveInto(Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side in the least squares sense.
(Inherited from Preconditioner<T>)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Multiply(Matrix<T>)Applies the linear operator to a matrix.
(Inherited from LinearOperator<T>)
Multiply(Vector<T>)Applies the linear operator to a vector.
(Inherited from LinearOperator<T>)
MultiplyAndAddAsLeftFactorCore Multiplies the matrix with a vector, adds the scaled result to another scaled vector, and returns the result.
(Inherited from Preconditioner<T>)
MultiplyAsLeftCore(TransposeOperation, Vector<T>, Vector<T>) Multiplies a vector by the linear operator and returns the result.
(Inherited from Preconditioner<T>)
MultiplyAsLeftCore(TransposeOperation, Matrix<T>, Matrix<T>) Multiplies a matrix by the linear operator and returns the result.
(Inherited from LinearOperator<T>)
MultiplyTranspose(Matrix<T>)Applies the transpose of the linear operator to a matrix.
(Inherited from LinearOperator<T>)
MultiplyTranspose(Vector<T>)Applies the (conjugate) transpose of the linear operator to a vector.
(Inherited from LinearOperator<T>)
Rank() Returns the numerical rank of a matrix.
(Inherited from LinearOperator<T>)
Rank(T) Returns the numerical rank of a matrix using the specified tolerance.
(Inherited from Preconditioner<T>)
RefreshUpdates diagonal scaling from the associated matrix.
Solve(Matrix<T>) Solves the system of linear equations for the specified right-hand side matrix.
(Inherited from LinearOperator<T>)
Solve(Vector<T>) Solves the system of linear equations for the specified right-hand side vector.
(Inherited from LinearOperator<T>)
Solve(DenseMatrix<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense matrix and optionally overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>)
Solve(DenseVector<T>, Boolean) Solves the system of linear equations for the specified right-hand side dense vector and optionally overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>)
SolveInto(Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides.
(Inherited from LinearOperator<T>)
SolveInto(Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side.
(Inherited from LinearOperator<T>)
SolveInto(TransposeOperation, Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side.
(Overrides Preconditioner<T>.SolveInto(TransposeOperation, Vector<T>, Vector<T>))
SolveInto(TransposeOperation, Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides.
(Inherited from LinearOperator<T>)
SolveTranspose(Matrix<T>) Solves the transposed system of linear equations for the specified right-hand side matrix.
(Inherited from LinearOperator<T>)
SolveTranspose(Vector<T>) Solves the system of linear equations for the specified right-hand side vector.
(Inherited from LinearOperator<T>)
SolveTranspose(DenseMatrix<T>, Boolean) Solves the transposed system of linear equations for the specified right-hand side dense matrix and optionally overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>)
SolveTranspose(DenseVector<T>, Boolean) Solves the transposed system of linear equations for the specified right-hand side dense vector and optionally overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>)
SolveTransposeInto(Matrix<T>, Matrix<T>) Solves a system of equations defined by the matrix and multiple right-hand sides.
(Inherited from LinearOperator<T>)
SolveTransposeInto(Vector<T>, Vector<T>) Solves a system of equations defined by the matrix and the specified right-hand side.
(Inherited from LinearOperator<T>)
ToStringReturns a string that represents the current object.
(Inherited from Object)
ValidateSolveInto(TransposeOperation, Matrix<T>, Matrix<T>) Validates arguments for a matrix right-hand-side solve.
(Inherited from LinearOperator<T>)
ValidateSolveInto(TransposeOperation, Vector<T>, Vector<T>) Validates arguments for a vector right-hand-side solve.
(Inherited from LinearOperator<T>)

See Also