mcx diameter - compute the diameter of a graph
mcx diameter [options]
mcxdiameter is not in actual fact a program. This manual page documents the
behaviour and options of the mcx program when invoked in mode
diameter.
The options
-h,
--apropos,
--version,
-set,
--nop,
-progress <num> are accessible in all
mcx modes. They are described in the
mcx manual page.
mcx diameter [-abc <fname> (
specify label
input)
] [-imx <fname> (
specify matrix
input)
] [-o <fname> (
output file name)
]
[-tab <fname> (
use tab file)
] [-t
<int> (
use <int> threads)
] [-J <intJ>
(
a total of <intJ> jobs are used)
] [-j
<intj> (
this job has index <intj>)
]
[--summary (
output diameter and average shortest path
length)
] [--list (
list eccentricity for all
nodes)
] [-h (
print synopsis, exit)
]
[--apropos (
print synopsis, exit)
] [--version
(
print version, exit)
]
mcx diameter computes the diameter of a graph. The input graph should be
symmetric. Results will be unpredictable for directed graphs. For label input
this is irrelevant as
mcx diameter will create a symmetric graph from
the input.
The input graph/matrix, if specified with the
-imx option, has to be in
mcl matrix/graph format. You can use label input instead by using the
-abc option. Refer to
mcxio(5) for a description of these two
input formats. By default
mcx diameter reads from STDIN
and expects
matrix format. To specify label input from STDIN use
-abc -.
-abc <fname> (
label input)
The file name for input that is in label format.
-imx <fname> (
input matrix)
The file name for input that is in mcl native matrix format.
-o <fname> (
output file name)
The name of the file to write output to.
-tab <fname> (
use tab file)
This option causes the output to be printed with the labels found in the tab
file. With
-abc this option will, additionally, construct a graph only
on the labels found in the tab file. If this option is used in conjunction
with
-imx the tab domain and the matrix domain are required to be
identical.
-t <int> (
use <int> threads)
-J <intJ> (
a total of <intJ> jobs are used)
-j <intj> (
this job has index <intj>)
Computing the diameter of a graph is time-intensive. If you have multiple CPUs
available consider using as many threads. Additionally it is possible to
spread the computation over multiple jobs/machines. Conceptually, each job
takes a number of threads from the total thread pool. If job control is used
(the
-J option is used) then the number of jobs should not exceed the
number of threads. The total number of threads divided by the total number of
jobs defines the number of threads that will be used by the current job.
Additionally, the number of threads specified signifies the total added amount
of all threads across all machines and
must be the same for all jobs.
This number is used by each job to infer its own set of tasks. The following
set of options, if given to as many commands, defines three jobs, each running
four threads.
-t 12 -G 3 -g 0
-t 12 -G 3 -g 1
-t 12 -G 3 -g 2
--list (
list eccentricity for all nodes)
--summary (
output diameter and average eccentricity)
The default mode is
--list, which results in output of the eccentricity
of all nodes. The eccentricity of a node is the distance to any node that is
the furthest away from it. The diameter of a graph is the maximum of the
eccentricity taken over all nodes in a graph. In this mode
mcx diameter
will not output the diameter itself. Use
--summary to output just the
diameter and the average eccentricity.
mcxio(5), and
mclfamily(7) for an overview of all the
documentation and the utilities in the mcl family.