###
MC44: Unassembled finite-element matrix: generate the element or supervariable connectivity graph

Given the structure of an unassembled finite-element matrix, this subroutine groups the variables into supervariables and optionally generates either the element connectivity graph or the supervariable connectivity graph.

A supervariable is a collection of one or more variables, such that each variable belongs to the same set of finite elements. In the supervariable connectivity graph, the nodes are the supervariables and the edges are constructed by making the supervariables of each finite element pairwise adjacent. The supervariable connectivity graph, together with the number of variables in each supervariable, provide a compact representation of the variable connectivity graph. In the element connectivity graph, the nodes are the elements and the edges are constructed by defining two elements to be adjacent whenever they have one or more variables in common.