# Ordering

##### Compute vertex ordering for an undirected graph

Compute vertex ordering for an undirected graph

- Keywords
- models

##### Usage

```
cuthill.mckee.ordering(g)
minDegreeOrdering(g, delta=0)
sloan.ordering(g, w1=1, w2=2)
```

##### Arguments

- g
- an instance of the
`graph`

class with`edgemode`

“undirected” - delta
- Multiple elimination control variable. If it is larger than or equal to zero then multiple elimination is enabled. The value of delta specifies the difference between the minimum degree and the degree of vertices that are to be eliminated.
- w1
- First heuristic weight for the Sloan algorithm.
- w2
- Second heuristic weight for the Sloan algorithm.

##### Details

The following details were obtained from the documentation of these algorithms in Boost Graph Library and readers are referred their for even more detail. The goal of the Cuthill-Mckee (and reverse Cuthill-Mckee) ordering algorithm is to reduce the bandwidth of a graph by reordering the indices assigned to each vertex.

The minimum degree ordering algorithm is a fill-in reduction matrix reordering algorithm.

The goal of the Sloan ordering algorithm is to reduce the profile and the wavefront of a graph by reordering the indices assigned to each vertex.

The goal of the King ordering algorithm is to reduce the bandwidth of a graph by reordering the indices assigned to each vertex.

##### Value

- cuthill.mckee.ordering
- returns a list with elements:
- reverse cuthill.mckee.ordering
- the vertices in the new ordering
- original bandwidth
- bandwidth before reordering vertices
- new bandwidth
- bandwidth after reordering of vertices
- minDegreeOrdering
- return a list with elements:
- inverse_permutation
- the new vertex ordering, given as the mapping from the new indices to the old indices
- permutation
- the new vertex ordering, given as the mapping from the old indices to the new indices
- sloan.ordering
- returns a list with elements:
- sloan.ordering
- the vertices in the new ordering
- bandwidth
- bandwidth of the graph after reordering
- profile
- profile of the graph after reordering
- maxWavefront
- maxWavefront of the graph after reordering
- aver.wavefront
- aver.wavefront of the graph after reordering
- rms.wavefront
- rms.wavefront of the graph after reordering

##### References

Boost Graph Library ( www.boost.org/libs/graph/doc/index.html )

The Boost Graph Library: User Guide and Reference Manual; by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine; (Addison-Wesley, Pearson Education Inc., 2002), xxiv+321pp. ISBN 0-201-72914-8

##### Examples

```
con <- file(system.file("XML/dijkex.gxl",package="RBGL"), open="r")
coex <- fromGXL(con)
close(con)
coex <- ugraph(coex)
cuthill.mckee.ordering(coex)
minDegreeOrdering(coex)
sloan.ordering(coex)
```

*Documentation reproduced from package RBGL, version 1.48.1, License: Artistic-2.0*