7 graph ordering routines – Scotch Brand 5.1.10 User Manual

Page 89

Advertising
background image

Return values

SCOTCH mapView

returns 0 if the data has been successfully written to stream,

and 1 else.

7.7

Graph ordering routines

The first routine provides high-level functionality and frees the user from the burden
of calling in sequence several of the low-level routines described afterward.

7.7.1

SCOTCH graphOrder

Synopsis

int SCOTCH graphOrder (const SCOTCH Graph *

grafptr,

const SCOTCH Strat *

straptr,

SCOTCH Num *

permtab,

SCOTCH Num *

peritab,

SCOTCH Num *

cblkptr,

SCOTCH Num *

rangtab,

SCOTCH Num *

treetab)

scotchfgraphorder (doubleprecision (*)

grafdat,

doubleprecision (*)

stradat,

integer*num (*)

permtab,

integer*num (*)

peritab,

integer*num

cblknbr,

integer*num (*)

rangtab,

integer*num (*)

treetab,

integer

ierr)

Description

The SCOTCH graphOrder routine computes a block ordering of the unknowns
of the symmetric sparse matrix the adjacency structure of which is represented
by the source graph structure pointed to by grafptr, using the ordering
strategy pointed to by stratptr, and returns ordering data in the scalar
pointed to by cblkptr and the four arrays permtab, peritab, rangtab and
treetab

.

The permtab, peritab, rangtab and treetab arrays should have been pre-
viously allocated, of a size sufficient to hold as many SCOTCH Num integers as
there are vertices in the source graph, plus one in the case of rangtab. Any
of the five output fields can be set to NULL if the corresponding information is
not needed. Since, in Fortran, there is no null reference, passing a reference
to grafptr in these fields will have the same effect.

On return, permtab holds the direct permutation of the unknowns, that is,
vertex i of the original graph has index permtab[i] in the reordered graph,
while peritab holds the inverse permutation, that is, vertex i in the reordered
graph had index peritab[i] in the original graph. All of these indices are
numbered according to the base value of the source graph: permutation indices
are numbered from baseval to vertnbr + baseval − 1, that is, from 0 to

89

Advertising