API Reference for Enthought Tool Suite 3.0.1

An equivalence relation.

An equivalence relation is a binary relation ~ on a set A with the following properties:

For our purposes, the set A is the set of all hashable python objects.

Examples:

>>> e = Equivalence(list('foo'), list('bar'), list('baz'))
>>> e.equivalent('f', 'o')
True
>>> e.equivalent('f', 'b')
False
>>> e.equivalent('b', 'a', 'r', 'z')
True
>>> assert e.get_class('f') == set('fo')
>>> assert e.get_class('b') == set('barz')

>>> e.remove('f')
>>> assert e.get_class('f') == set('f')
>>> assert e.get_class('o') == set('o')
>>> assert e.get_class('b') == set('barz')

>>> e.remove('r', 'z')
>>> assert e.classes == [set('ba')]
>>> assert set(e.classes) == set(e) == set([frozenset('ba')])

>>> e = Equivalence()
>>> e.equate(1, 3)
>>> e.equate(2, 4)
>>> e.equate(5, 6, 7, 8, 9)
>>> e.equate(10)
>>> assert len(e.classes) == 3
>>> assert e.get_class(1) == set([1, 3])
>>> assert e.get_class(4) == set([2, 4])
>>> e.equate(2, 3)
>>> assert e.get_class(1) == e.get_class(4) == set([1, 2, 3, 4])
>>> e.remove(2, 3)
>>> assert e.get_class(1) == e.get_class(4) == set([1, 4])
>>> e.remove(4)
>>> assert not e.equivalent(1, 4)

>>> e = Equivalence()
>>> assert set(e) == set()
>>> e.equate(1,2)
>>> e.remove(1,2)
>>> assert set(e) == set()

Inherits from

Attributes

Inherited from base classes

Method summary

Inherited from base classes

Methods

© Copyright 2002-2008 Enthought, Inc.