Defined in File Lamg.hpp
public NetworKit::LinearSolver< Matrix >
(Template Class LinearSolver)
Represents the interface to the Lean Algebraic Multigrid (LAMG) graph Laplacian linear solver by Oren E. Livne and Achi Brandt.
See also
Livne, Oren E., and Achi Brandt. “Lean algebraic multigrid (LAMG): Fast graph Laplacian
linear solver.” SIAM Journal on Scientific Computing 34.4 (2012): B499-B522.
Public Functions
Construct a solver with the given tolerance. The relative residual ||Ax-b||/||b|| will be less than or equal to tolerance after the solver finished.
tolerance –
Default destructor
Compute the multigrid hierarchy for the given Laplacian matrix laplacianMatrix.
Note
This method also works for disconnected graphs. If you know that the graph is connected, it is faster to use setupConnected instead.
laplacianMatrix –
Compute the multigrid hierarchy for the Laplacian matrix that corresponds to the graph G.
laplacianMatrix –
G – Graph that corresponds to the laplacianMatrix
Compute the multigrid hierarchy for the given Laplacian matrix laplacianMatrix that corresponds to the graph G.
Note
This setup method allows you to skip some computation required for setting up LAMG. You can provide your matrix and graph, which are required for setting up LAMG, via this method to prevent duplicate computation. Note that the output is undefined if the two parameters do not correspond the the same graph.
laplacianMatrix –
G – Graph that corresponds to the laplacianMatrix
Compute the multigrid hierarchy for the Laplacian matrix that corresponds to the graph G using the existing component decomposition decomp.
Note
This setup method allows you to skip some computation required for setting up LAMG. You can provide your graph and decomposition, which are required for setting up LAMG, via this method to prevent duplicate computation. Note that the output is undefined if the two parameters do not correspond the the same graph.
G – Graph that corresponds to the laplacianMatrix
decomp – ComponentDecomposition for the graph G
Compute the multigrid hierarchy for the given Laplacian matrix laplacianMatrix that corresponds to the graph G using the existing component decomposition decomp.
Note
This setup method allows you to skip some computation required for setting up LAMG. You can provide your graph and decomposition, which are required for setting up LAMG, via this method to prevent duplicate computation. Note that the output is undefined if the three parameters do not correspond the the same graph.
laplacianMatrix –
G – Graph that corresponds to the laplacianMatrix
decomp – ComponentDecomposition for the graph G
Compute the multigrid hierarchy for the given Laplacian matrix laplacianMatrix.
Note
The graph has to be connected for this method to work. Otherwise the output is undefined.
laplacianMatrix –
Computes the result for the matrix currently setup and the right-hand side rhs. The maximum spent time can be specified by maxConvergenceTime and the maximum number of iterations can be set by maxIterations.
rhs –
result –
maxConvergenceTime –
maxIterations –
A SolverStatus object which provides some statistics like the final absolute residual.
Compute the results for the matrix currently setup and the right-hand sides rhs. The maximum spent time for each system can be specified by maxConvergenceTime and the maximum number of iterations can be set by maxIterations.
rhs –
results –
maxConvergenceTime –
maxIterations –
Abstract parallel solve function that computes and processes results using resultProcessor for the matrix currently setup and the right-hand sides (size of rhsSize) provided by rhsLoader. The maximum spent time for each system can be specified by maxConvergenceTime and the maximum number of iterations can be set by maxIterations.
Note
If the solver does not support parallelism during solves, this function falls back to solving the systems sequentially.
Note
The rhsLoader and resultProcessor are called from multiple threads in parallel.
rhsLoader –
resultProcessor –
rhsSize –
maxConvergenceTime –
maxIterations –