Code covered by the BSD License  

Highlights from
Matgraph

from Matgraph by Ed Scheinerman
Toolbox for working with simple, undirected graphs

Partitions in Matgraph

Partitions in Matgraph

Many Matgraph functions work with partitions. For example, the color function returns a partition of the vertex set and bipmatch takes a partition as one of its arguments. Matgraph provides the partition type for working with partitions. In all cases, the partition is of the set [n]={1,2,...,n} for some n.

Contents

Creating partitions

The partition function is used to create a new partition. partition(n) creates a partition of the set [n] in which every element is in a part by itself. Alternatively, one can apply partition to a cell array in which the cells in the array contain the elements in each part.

p = partition(5)
q = partition({[1 2 3],[4 6],[5]})
{ {1} {2} {3} {4} {5} }
{ {1,2,3} {4,6} {5} }

Finding the part that contains a given element

If p is a partition and k is an integer, then p(k) returns the elements in the part of p that contains k.

disp(q(1))
     1     2     3

Merging parts

If p is a partition and j and k are integers, then merge(p,j,k) is a new partition formed from p by combining the parts that contain j and k.

q
merge(q,1,4)
{ {1,2,3} {4,6} {5} }
{ {1,2,3,4,6} {5} }

Meet and join

If p and q are partitions, then p*q and p+q are the meet and join of p and q, respectively.

p = partition({ [1 3 5], [2 4], [8 7], [6]})
q = partition({ [1 3 2], [4 5], [6 8], [7]})
p*q
p+q
{ {1,3,5} {2,4} {6} {7,8} }
{ {1,2,3} {4,5} {6,8} {7} }
{ {1,3} {2} {4} {5} {6} {7} {8} }
{ {1,2,3,4,5} {6,7,8} }

Extracting the parts

parts(p) returns a cell array in which each cell contains the elements of a part of p.

pts = parts(p);
for k=1:length(pts)
	disp(['Part #', int2str(k), ' is ', int2str(pts{k})])
end
Part #1 is 1  3  5
Part #2 is 2  4
Part #3 is 6
Part #4 is 7  8

See also

Here is a list of all the partition methods.

methods partition

Methods for class partition:


array      eq         ne         partition  size       
check      merge      np         parts      subsref    
display    mtimes     nv         plus       

Contact us at files@mathworks.com