Sparse Solver Transformation<T>.Create Row Column Equilibration Method
Creates a sparse system snapshot equilibrated by row and column maximum magnitudes.
Definition
Namespace: Numerics.NET.LinearAlgebra.IterativeSolvers
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.9.0
C#
A transformation using reciprocal row maxima followed by reciprocal column maxima of the row-scaled matrix. Empty rows and columns use one.
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.9.0
public static SparseSolverTransformation<T> CreateRowColumnEquilibration(
SparseMatrix<T> matrix,
int[]? ordering = null
)Parameters
- matrix SparseMatrix<T>
- A square sparse matrix with finite logical coefficients and magnitudes.
- ordering Int32[] (Optional)
- An optional copied permutation mapping new coordinates to original coordinates.
Return Value
SparseSolverTransformation<T>A transformation using reciprocal row maxima followed by reciprocal column maxima of the row-scaled matrix. Empty rows and columns use one.
Remarks
Independent row/column scaling generally changes Hermitian structure. Use it with general solvers such as GMRES, FGMRES or BiCGStab. Zero rows/columns remain zero; scaling does not repair singularity. Required factors and intermediate nonzeros must be representable.
Exceptions
| Argument | matrix is null. |
| Dimension | The matrix is not square or the ordering length is incorrect. |
| Argument | The ordering is invalid, coefficients or magnitudes are nonfinite, or a required positive scaling factor is unrepresentable. |
| Overflow | A scaled nonzero or intermediate row-scaled coefficient is unrepresentable. |
| Not | The sparse matrix structure is unsupported. |