Expand description
Nested dissection ordering for sparse direct solvers.
Provides graph-based fill-reducing orderings that minimize fill-in during sparse Cholesky or LU factorization. The main algorithm recursively finds vertex separators to split the graph, orders each partition recursively, then places separator vertices last.
§Algorithm
- Build an
AdjacencyGraphfrom a symmetric CSR matrix. - Call
NestedDissectionOrdering::computeto obtain aPermutation. - Evaluate quality with
analyze_ordering.
The separator finder uses a multi-level approach: heavy-edge coarsening, BFS-based bisection on the coarse graph, and Fiduccia-Mattheyses refinement.
Structs§
- Adjacency
Graph - Undirected graph of a symmetric sparse matrix in CSR-like form.
- Minimum
Degree Ordering - Approximate minimum degree ordering for small subgraphs.
- Nested
Dissection Ordering - Nested dissection ordering algorithm.
- Ordering
Quality - Quality metrics for an ordering.
- Permutation
- A permutation with its inverse, for reordering matrix rows/columns.
- Separator
Result - Result of a graph separator computation.
- Vertex
Separator - Finds graph vertex separators using a multi-level approach.
Functions§
- analyze_
ordering - Analyze the quality of an ordering by estimating fill-in via symbolic factorization.