A recently proposed heuristic for the symmetric envelope minimization problem involves sorting the rows/columns of the matrix by the values of associated entries in the Fiedler vector of the graph of nonzero entries. This approach was proposed at about the same time by several different researchers [BPS93,JM92,PMGM94a,PMGM94b], and seems to often produce better orderings than more traditional combinatorial methods, albeit at a somewhat increased cost. An analysis of this approach based upon the quadratic assignment problem can be found in [GP94]. In this section the symmetric matrix technique is generalized to produce both row and column orderings for the nonsymmetric problem.
Given a graph G, with vertex set V and weighted edges E, the heuristic
described in this section will use an eigenvector of L, the (weighted)
Laplacian matrix of G. If
, then elements
and
of L are set equal to
. The diagonal is then
constructed to make row sums equal to zero. More formally,
The Laplacian matrix has a number of nice properties. It is symmetric and positive semidefinite. The constant vector is an eigenvector with zero eigenvalue, and if the graph is connected then all other eigenvalues are positive. If the eigenvalues are sorted by increasing value, an eigenvector of L corresponding to the second eigenvalue is known as a Fiedler vector in recognition of the pioneering work of Miroslav Fiedler [Fie73,Fie75]. The Fiedler vector has been used in heuristics for a number of graph manipulations including partitioning [PSL90], linear labeling [JM92] and envelope minimization as alluded to above. For a survey of applications of the Fiedler vector, see [Moh91,Moh92].
The Fiedler vector has a nice interpretation which helps to explain these
applications. Consider the problem of embedding a graph in the line
in such a way that all the edge lengths are kept short. That is, if
, then vertices i and j should be near each other;
particularly if the corresponding edge weight is large.
Letting
be the location in the line of vertex i,
one way to express the embedding problem mathematically is to try
to minimize the following sum.

Merely minimizing F leads to a problem with an infinite number of
solutions since the minimum is invariant under translations. This can
be dealt with by making the average x value equal to zero; that is, adding
the constraint that
. As posed, the problem now has a trivial
solution obtained by setting all the x values equal to zero. This can
be avoided by adding a normalization constraint on the x vector, leading
to the following problem.
It turns out that the solution to (5) is a Fiedler vector.
The objective function
can be rewritten as
, where L is the
Laplacian matrix of the graph. The first eigenvector is e, so it is
excluded by the first constraint. The solution is then seen to be the second
eigenvector.
The Fiedler vector approach also provides a plausible
heuristic for the symmetric envelope reduction problem. Consider the graph
of nonzeros of the symmetric matrix. This graph has a vertex for each row,
and an edge
if element
of the matrix is nonzero. Now
embed this graph the line via the Fiedler vector. Since edge lengths
are short, the edges incident to vertex i shouldn't connect to vertices
which are geometrically distant from i. Now order the rows (and columns)
of the matrix by sorting the corresponding values in the Fiedler vector.
Since adjacent vertices are near each other in the embedding, they should
be near each other in the ordering which is the goal of a small envelope
ordering. Although one can construct graphs for which this approach
works poorly [GM95], in practice it usually performs well.
It is now possible to describe a heuristic for reordering a term-by-document
or hypertext
matrix based upon the Fiedler vector. First, construct the
bipartite graph of the hypertext (link-by-document) matrix. Embed this graph
in the line with the Fiedler vector. This embedding will combine links and
documents in such a way that terms try to be near the documents which include
them, and documents are near the links they include. Note that if two links
are shared by several documents then they are likely to land near each other
in the embedding. Now order the links by sorting their values in the Fiedler
vector and do the same for documents. Since links (documents) which share
documents (links) are near each other in the embedding, they should be near
each other in the ordering as desired. Table 6 illustrates the
reordering using the derived Fiedler vector for the
matrix
defined in Table 2.
term-by-document
matrix of the technical memoranda titles .