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