# BLAS3 in Multifrontal Sparse Decomposition

I wonder how one manages to use BLAS level 3 operations in the multifrontal sparse decomposition algorithm. As far as I understand, the algorithm proceeds as follows:

1. For each row/column pair, assemble the dense matrix corresponding to its nonzero entries. Write this matrix as $$M = \begin{pmatrix} \alpha & a^T \\ a & A \end{pmatrix}.$$

2. Decompose the first row/column of this matrix, $$M = \begin{pmatrix} 1 & \\ a/\alpha & \mathbb{I} \end{pmatrix} \begin{pmatrix} \alpha & \\ & A - a a^T/\alpha \end{pmatrix} \begin{pmatrix} 1 & a^T/\alpha \\ & \mathbb{I} \end{pmatrix} .$$

3. Add the resulting $A - aa^T/\alpha$ into the $M$s for row/column pairs later in the decomposition.

Each of these steps performs $\mathcal{O}(n^2)$ operations on $\mathcal{O}(n^2)$ data, so cannot be done using BLAS3 operations. In order to fix this, one would have to block several decomposition steps (step 2.) together, but then I wonder how such a method would differ from the supernodal approach.

The nomenclature used in the literature is misleading. High-performance implementations of both the supernodal as well as the multifrontal methods operate on supernodes, i.e. multiple columns rather than single columns. The difference between the two methods lies in how they propagate the Schur complement: when the supernodal method tackles column (or supernode) $k$, it takes the $k$th column of $A$ and updates it with the Schur complements of the columns $1:k-1$. A more accurate name for the supernodal method would hence be "left-looking". The multifrontal method, on the other hand, does some more intricate bookkeeping for the Schur complements which resembles (but is distinct from) a right-looking factorisation method.