![]() |
Eigen-unsupported
3.4.90 (git rev 9589cc4e7fd8e4538bedef80dd36c7738977a8be)
|
#include <unsupported/Eigen/src/IterativeSolvers/Scaling.h>
iterative scaling algorithm to equilibrate rows and column norms in matrices
This class can be used as a preprocessing tool to accelerate the convergence of iterative methods
This feature is useful to limit the pivoting amount during LU/ILU factorization The scaling strategy as presented here preserves the symmetry of the problem NOTE It is assumed that the matrix does not have empty row or column,
Example with key steps
MatrixType_ | the type of the matrix. It should be a real square sparsematrix |
References : D. Ruiz and B. Ucar, A Symmetry Preserving Algorithm for Matrix Scaling, INRIA Research report RR-7552
Public Member Functions | |
void | compute (const MatrixType &mat) |
void | computeRef (MatrixType &mat) |
VectorXd & | LeftScaling () |
VectorXd & | RightScaling () |
void | setTolerance (double tol) |
|
inline |
Compute the left and right diagonal matrices to scale the input matrix mat
FIXME This algorithm will be modified such that the diagonal elements are permuted on the diagonal.
|
inline |
Compute the left and right vectors to scale the vectors the input matrix is scaled with the computed vectors at output
|
inline |
Get the vector to scale the rows of the matrix
|
inline |
Get the vector to scale the columns of the matrix
|
inline |
Set the tolerance for the convergence of the iterative scaling algorithm