﻿

Accelerating the pace of engineering and science

graphisspantree

Determine if tree is spanning tree

Syntax

TF = graphisspantree(G)

Arguments

 G N-by-N sparse matrix whose lower triangle represents an undirected graph. Nonzero entries in matrix G indicate the presence of an edge.

Description

 Tip   For introductory information on graph theory functions, see Graph Theory Functions.

TF = graphisspantree(G) returns logical 1 (true) if G is a spanning tree, and logical 0 (false) otherwise. A spanning tree must touch all the nodes and must be acyclic. G is an N-by-N sparse matrix whose lower triangle represents an undirected graph. Nonzero entries in matrix G indicate the presence of an edge.

Examples

1. Create a phytree object from a phylogenetic tree file.

```tr = phytreeread('pf00002.tree')

Phylogenetic tree object with 33 leaves (32 branches)```
2. Create a connection matrix from the phytree object.

`[CM,labels,dist] = getmatrix(tr);`
3. Determine if the connection matrix is a spanning tree.

```graphisspantree(CM)

ans =

1```
4. Add an edge between the root and the first leaf in the connection matrix.

`CM(end,1) = 1;`
5. Determine if the modified connection matrix is a spanning tree.

```graphisspantree(CM)

ans =

0```

References

[1] Siek, J.G., Lee, L-Q, and Lumsdaine, A. (2002). The Boost Graph Library User Guide and Reference Manual, (Upper Saddle River, NJ:Pearson Education).