Quantcast
Channel: Math.NET Numerics
Viewing all articles
Browse latest Browse all 971

New Post: ILU0 using and sparse matrix operations

$
0
0
MILU0Preconditioner is the only preconditioner optimized for sparse storage and though the only one that will improve performance.

It implements both the standard and the modified ILU0 algorithm (default is the modified one). Have you tried both? Use the UseModified property or the constructor overload to choose between the two versions.

What's the status of the iterator after solving the system (check the monitor.Status property)?

EDIT: To have more control over the iteration process, you might want to setup the iterator by yourself:
int iterationsLimit = 500;
double tolerance = 1e-8;

var iterator = new Iterator<double>(
    new IterationCountStopCriterion<double>(iterationsLimit),
    new ResidualStopCriterion<double>(tolerance),
    new DivergenceStopCriterion<double>()
);

var solver = new BiCgStab();
var preconditioner = new MILU0Preconditioner(true);

preconditioner.Initialize(matrix);

solver.Solve(matrix, b, x, iterator, preconditioner);

Viewing all articles
Browse latest Browse all 971

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>