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