The multi-frontal solver algorithm is controlled by the elimination tree . When the sparse matrix
processed by the solver results from mesh-based computations, it is possible to express the elimi-
nation tree as graph-grammar productions. This allows for theoretical estimation of the number of
FLOPs and memory transfers of the solver algorithm, for different elimination trees. In this chapter
we will present the quasi-optimal elimination trees generated by the area and neighbors algorithm
 for grids with point and edge singularities, and compare that trees to the one generated by
nested-dissections [55, 56] or the minumum degree algorithm  .