# set_theory

set_theory, a MATLAB code which demonstrates how set-theoretic operations can be carried out, primarily using built-in MATLAB commands.

We assume that a set is represented by a strictly ascending sequence of positive integers. We might think of a universal set U = 1 : N in cases where all our subsets will have elements between 1 and N.

Set theoretic operations include

• definition using a numeric property: A = find ( mod ( U, 3 ) = 1 );
• definition using an explicit list: A = [ 1, 3, 8];
• unique: creating a set from the unique elements of a list: A = unique ( [ 1, 3, 8, 3, 3, 1, 7, 3, 1, 1 ] );
• union: C = union ( A, B );
• intersection: C = intersect ( A, B );
• symmetric difference: C = setxor ( A, B );
• complement with respect to the universal set: B = setdiff ( U, A );
• complement with respect to another set: C = setdiff ( B, A );
• cardinality: n = length ( A );
• membership: true/false = ismember ( a, A );
• subset: true/false = ismember ( B, A );
• addition of one element: A = unique ( [ A; a ] );
• deletion of one element: A = setxor ( A, a );
• indexing one element: i = find ( A == a );

### Languages:

set_theory is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

### Related Data and Programs:

combo, a MATLAB code which handles combinatorial problems, by Kreher and Stinson;

subset, a MATLAB code which ranks, unranks, and generates random subsets, combinations, permutations, and so on;

### Reference:

1. Charles Pinter,
Set Theory,