Scotch Brand 5.1.10 User Manual

Page 90

Advertising
background image

vertnbr

− 1 if the graph base is 0, and from 1 to vertnbr if the graph base

is 1.

The three other result fields, *cblkptr, rangtab and treetab, contain data
related to the block structure. *cblkptr holds the number of column blocks
of the produced ordering, and rangtab holds the starting indices of each of the
permuted column blocks, in increasing order, so that column block i starts at
index rangtab[i] and ends at index (rangtab[i+1]−1), inclusive, in the new
ordering. treetab holds the separators tree structure, that is, treetab[i] is
the index of the father of column block i in the separators tree, or −1 if column
block i is the root of the separators tree. Please refer to Section 7.2.5 for more
information.

Return values

SCOTCH graphOrder

returns 0 if the ordering of the graph has been successfully

computed, and 1 else. In this last case, the rangtab, permtab, and peritab
arrays may however have been partially or completely filled, but their contents
are not significant.

7.7.2

SCOTCH graphOrderInit

Synopsis

int SCOTCH graphOrderInit (const SCOTCH Graph *

grafptr,

SCOTCH Ordering *

ordeptr,

SCOTCH Num *

permtab,

SCOTCH Num *

peritab,

SCOTCH Num *

cblkptr,

SCOTCH Num *

rangtab,

SCOTCH Num *

treetab)

scotchfgraphorderinit (doubleprecision (*)

grafdat,

doubleprecision (*)

ordedat,

integer*num (*)

permtab,

integer*num (*)

peritab,

integer*num

cblknbr,

integer*num (*)

rangtab,

integer*num (*)

treetab,

integer

ierr)

Description

The SCOTCH graphOrderInit routine fills the ordering structure pointed to by
ordeptr

with all of the data that are passed to it. Thus, all subsequent calls

to ordering routines such as SCOTCH graphOrderCompute, using this ordering
structure as parameter, will place ordering results in fields permtab, peritab,
*cblkptr

, rangtab or treetab, if they are not set to NULL.

permtab

is the ordering permutation array, of size vertnbr, peritab is the

inverse ordering permutation array, of size vertnbr, cblkptr is the pointer
to a SCOTCH Num that will receive the number of produced column blocks,
rangtab

is the array that holds the column block span information, of size

90

Advertising