mlpack_emst - fast euclidean minimum spanning tree


mlpack_emst -i string [-l int] [-n bool] [-V bool] [-o string] [-h -v]


This program can compute the Euclidean minimum spanning tree of a set of input points using the dual-tree Boruvka algorithm.

The set to calculate the minimum spanning tree of is specified with the ’--input_file (-i)’ parameter, and the output may be saved with the ’--output_file (-o)’ output parameter.

The ’--leaf_size (-l)’ parameter controls the leaf size of the kd-tree that is used to calculate the minimum spanning tree, and if the ’--naive (-n)’ option is given, then brute-force search is used (this is typically much slower in low dimensions). The leaf size does not affect the results, but it may have some effect on the runtime of the algorithm.

For example, the minimum spanning tree of the input dataset ’data.csv’ can be calculated with a leaf size of 20 and stored as ’spanning_tree.csv’ using the following command:

$ emst --input_file data.csv --leaf_size 20 --output_file spanning_tree.csv

The output matrix is a three-dimensional matrix, where each row indicates an edge. The first dimension corresponds to the lesser index of the edge; the second dimension corresponds to the greater index of the edge; and the third column corresponds to the distance between the two points.


--input_file (-i) [string]

Input data matrix.


--help (-h) [bool]

Default help info.

--info [string]

Get help on a specific module or option. Default value ’’.

--leaf_size (-l) [int]

Leaf size in the kd-tree. One-element leaves give the empirically best performance, but at the cost of greater memory requirements. Default value 1.

--naive (-n) [bool]

Compute the MST using O(n^2) naive algorithm.

--verbose (-v) [bool]

Display informational messages and the full list of parameters and timers at the end of execution.

--version (-V) [bool]

Display the version of mlpack.


--output_file (-o) [string]

Output data. Stored as an edge list. Default value ’’.


For further information, including relevant papers, citations, and theory, consult the documentation found at or included with your distribution of mlpack.