A general
tridiagonal matrix of order *n* is stored globally
in three one-dimensional arrays *dl*, *d*, *du* of
length *n* containing the subdiagonal, diagonal,
and superdiagonal elements, respectively. Note
the mild change from LAPACK in which *dl* and
*du* were actually of global length *n*-1. To make
the distribution of the vectors consistent, we have
chosen to make them all of length *n*. Note that
*dl*(1)=*du*(*n*)=0.

Similarly, a symmetric
tridiagonal matrix is stored globally in two
one-dimensional arrays *d*, *e* of length *n*
containing the diagonal and off-diagonal elements,
respectively. Again, there is a slight departure
from LAPACK in which *e* was of global length *n*-1.
Here, *e*(*n*)=0.

The vectors (*DL*, *D*, *DU*) or (*D*, *E*) representing
these matrices must be block distributed to a
one-dimensional process grid. These vectors can
be equivalently distributed block-row or block-column
since vectors are one-dimensional data structures.
Note that when inputting vectors to these special-purpose
low-diagonal routines, `LLD_` can be ignored,
since it is assumed that the local portions of the
vectors are of unit stride.

Tue May 13 09:21:01 EDT 1997