Kernel: My mdtraj
Semigroup Presentations and Cayley Graphs
Presentations are a way of defining semigroups as quotients of free semigroups. They describe the useful properties of a semigroup.
For a first example, consider the presentation
Constructing the semigroup and its cayley graph from this presentation is Question 4-5. Here's how to do it computationally.
In [1]:
In [2]:
<KnuthBendix: 2 letters and 3 rules>
In [3]:
3
In [4]:
<cppyy.gbl.libsemigroups.FroidurePinBase object at 0x561cc86e04d0 held by std::shared_ptr<libsemigroups::FroidurePinBase> at 0x561cc88796c0>
In [5]:
In [6]:
['ab', 'ba', 'babb', 'bb', 'abb', 'aa', 'abbb', 'bab', 'bbb', 'a', 'b']
Order of Semigroup: 11
In [16]:
In [20]:
In [13]:
babb
aa
abbb
bbb
TS 4-6
Let S be the semigroup defined by the presentation .
In [40]:
<KnuthBendix: 3 letters and 9 rules>
In [41]:
['ab', 'z', 'b', 'ba', 'a']
Order of Semigroup: 5
Make Cayley Table
In [42]:
ab z z z a
z z z z z
b z z z ba
z z b ba z
z z ab a z
Make Right Cayley
In [43]:
In [45]:
In [0]:
In [0]:
In [0]: