WOLFRAM NOTEBOOK

For mwops-2.eps

Notes on the Operators and their Equivalence classes

0: opss[[1]]

eqc[1]//TableForm
0
0
0
0
B
A
BB
BA
AB
AA
BBB
BBA
BAB
BAA
ABB
ABA
AAB
AAA
BBBB
BBBA
BBAB
BBAA
BABB
BABA
BAAB
BAAA
ABBB
ABBA
ABAB
ABAA
AABB
AABA
AAAB
AAAA
BBBAA
BBABB
BBABA
BBAAB
BBAAA
BABBB
BABBA
BABAB
BABAA
BAABB
BAABA
BAAAB
BAAAA
ABBBB
ABBBA
ABBAB
ABBAA
ABABB
ABABA
ABAAB
ABAAA
AABBB
AABBA
AABAB
AABAA
AAABB
AAABA
AAAAB
AAAAA
MatrixForm/@eos[1]
0
0
0
0
1
2
1
2
,
1
1
2
2
,
1
1
1
1
The two identity operators and the 0 operator.
Display: one box for B, one for A, and then one for the rest up to some point.

And: opss[[2]]

eqc[2]//TableForm
0
0
0
1
B
BB
BBB
BBBB
A
AA
AAA
AAAA
AAAAA
BA
AB
BBA
BAB
BAA
ABB
ABA
AAB
BBBA
BBAB
BBAA
BABB
BABA
BAAB
BAAA
ABBB
ABBA
ABAB
ABAA
AABB
AABA
AAAB
BBBAA
BBABB
BBABA
BBAAB
BBAAA
BABBB
BABBA
BABAB
BABAA
BAABB
BAABA
BAAAB
BAAAA
ABBBB
ABBBA
ABBAB
ABBAA
ABABB
ABABA
ABAAB
ABAAA
AABBB
AABBA
AABAB
AABAA
AAABB
AAABA
AAAAB
MatrixForm/@eos[2]
0
0
0
1
1
2
1
2
,
1
1
2
2
,
1
1
1
2
And satisfies AA=A.
MatrixForm/@Complement[allos[2],eos[2]]
0
0
0
1
1
1
1
1
,
1
1
2
1
,
1
2
1
1
,
1
2
2
1
,
1
2
2
2
,
2
1
1
1
,
2
1
1
2
,
2
1
2
1
,
2
1
2
2
,
2
2
1
1
,
2
2
1
2
,
2
2
2
1
,
2
2
2
2
Display: one box for B, BB, ... one for A, AA, ... and then one for the rest up to some point.

Mod 2: opss[[3]]

eqc[3]//TableForm
1
0
0
1
B
BBB
BAA
ABA
AAB
BBBAA
BBABA
BBAAB
BABBA
BABAB
BAABB
BAAAA
ABBBA
ABBAB
ABABB
ABAAA
AABBB
AABAA
AAABA
AAAAB
A
BBA
BAB
ABB
AAA
BBABB
BBAAA
BABBB
BABAA
BAABA
BAAAB
ABBBB
ABBAA
ABABA
ABAAB
AABBA
AABAB
AAABB
AAAAA
BB
AA
BBBB
BBAA
BABA
BAAB
ABBA
ABAB
AABB
AAAA
BA
AB
BBBA
BBAB
BABB
BAAA
ABBB
ABAA
AABA
AAAB
MatrixForm/@eos[3]
1
0
0
1
1
2
1
2
,
1
1
2
2
,
2
2
2
2
,
2
1
1
2
Note the operator is addition mod 2. The strings break down into odd and even, {Count[A],Count[B]} mod 2, as the operator is commutative.
Display: Ideally three for each equivalence class.

Two cycles: opss[[4]]

eqc[4]//TableForm
0
0
0
0
1
0
0
0
0
B
A
BB
BBB
BBBB
BA
AB
BBA
BAB
BAA
ABB
ABA
AAB
BBBA
BBAB
BBAA
BABB
BABA
BAAB
BAAA
ABBB
ABBA
ABAB
ABAA
AABB
AABA
AAAB
BBBAA
BBABB
BBABA
BBAAB
BBAAA
BABBB
BABBA
BABAB
BABAA
BAABB
BAABA
BAAAB
BAAAA
ABBBB
ABBBA
ABBAB
ABBAA
ABABB
ABABA
ABAAB
ABAAA
AABBB
AABBA
AABAB
AABAA
AAABB
AAABA
AAAAB
AA
AAA
AAAA
AAAAA
MatrixForm/@eos[4]
0
0
0
0
1
0
0
0
0
1
2
3
1
2
3
1
2
3
,
1
1
1
2
2
2
3
3
3
,
1
2
1
1
2
1
1
2
1
,
1
1
1
1
2
1
1
1
1
,
1
1
1
2
2
2
1
1
1
The operator satisfies ABB=AB. The equivalence classes are broken down into 4 where only one letter occurs, and one where both occur. That last one can be considered a product of the others.
The two cycles of this operator are 1.1=1 and 2.2=2.
Display: one box for B, one for A, ... Say lengths {1,1,2...,3...,2...}.

One cycle: opss[[5]]

eqc[5]//TableForm
0
0
0
0
2
0
0
0
0
B
A
BB
BA
AB
AA
BBB
BBA
BAB
BAA
ABB
ABA
AAB
AAA
BBBB
BBBA
BBAB
BBAA
BABB
BABA
BAAB
BAAA
ABBB
ABBA
ABAB
ABAA
AABB
AABA
AAAB
AAAA
BBBAA
BBABB
BBABA
BBAAB
BBAAA
BABBB
BABBA
BABAB
BABAA
BAABB
BAABA
BAAAB
BAAAA
ABBBB
ABBBA
ABBAB
ABBAA
ABABB
ABABA
ABAAB
ABAAA
AABBB
AABBA
AABAB
AABAA
AAABB
AAABA
AAAAB
AAAAA
MatrixForm/@eos[5]
0
0
0
0
2
0
0
0
0
1
2
3
1
2
3
1
2
3
,
1
1
1
2
2
2
3
3
3
,
1
3
1
1
3
1
1
3
1
,
1
1
1
1
3
1
1
1
1
,
1
1
1
3
3
3
1
1
1
,
1
1
1
1
1
1
1
1
1
This one has one more operator represented because it has only one cycle 1.1=1. Any string with more than two elements must give 1 as its answer.
Display: one box for B, one for A, ... Say lengths {1,1,1,2,1,3...}.

Extended Exclusive Or/ Mod 2: opss[[6]]

eqc[6]//TableForm
0
1
0
1
0
1
0
1
0
B
A
BB
AA
BBBB
BBAA
BABA
BAAB
ABBA
ABAB
AABB
AAAA
BA
AB
BBBA
BBAB
BABB
BAAA
ABBB
ABAA
AABA
AAAB
BBB
BAA
ABA
AAB
BBBAA
BBABA
BBAAB
BABBA
BABAB
BAABB
BAAAA
ABBBA
ABBAB
ABABB
ABAAA
AABBB
AABAA
AAABA
AAAAB
BBA
BAB
ABB
AAA
BBABB
BBAAA
BABBB
BABAA
BAABA
BAAAB
ABBBB
ABBAA
ABABA
ABAAB
AABBA
AABAB
AAABB
AAAAA
MatrixForm/@eos[6]
0
1
0
1
0
1
0
1
0
1
2
3
1
2
3
1
2
3
,
1
1
1
2
2
2
3
3
3
,
1
1
1
1
1
1
1
1
1
,
1
2
1
2
1
2
1
2
1
,
1
2
1
1
2
1
1
2
1
,
1
1
1
2
2
2
1
1
1
After one operation, the operator restricts to {1,2} where it is mod 2 addition. Hence, the number of A's and B's only matters up to parity, once there is more than one letter. So we get four operators for parities, and A, and B, to make six.
Display: one box for B, one for A, ... Say lengths {1,1,3...,3...,3...,3...}.

???: opss[[7]]

eqc[7]//TableForm
0
0
2
0
1
2
2
2
2
B
BB
BBB
BBBB
A
AA
AAA
AAAA
AAAAA
BA
AB
BBA
BAB
BAA
ABB
ABA
AAB
BBBA
BBAB
BBAA
BABB
BABA
BAAB
BAAA
ABBB
ABBA
ABAB
ABAA
AABB
AABA
AAAB
BBBAA
BBABB
BBABA
BBAAB
BBAAA
BABBB
BABBA
BABAB
BABAA
BAABB
BAABA
BAAAB
BAAAA
ABBBB
ABBBA
ABBAB
ABBAA
ABABB
ABABA
ABAAB
ABAAA
AABBB
AABBA
AABAB
AABAA
AAABB
AAABA
AAAAB
MatrixForm/@eos[7]
0
0
2
0
1
2
2
2
2
1
2
3
1
2
3
1
2
3
,
1
1
1
2
2
2
3
3
3
,
1
1
3
1
2
3
3
3
3
Note the operator satisfies AA=A so there are only three possibilties, corresponding to the occurence of A or B or both.
Display: one box for B, one for A, ... Say lengths {2...,2...,3...}.

???: opss[[8]]

eqc[8]//TableForm
0
0
0
0
0
3
0
0
0
0
2
0
0
0
0
0
B
A
BB
BA
AB
AA
BBB
BBBB
BBA
BAB
BAA
ABB
ABA
AAB
BBBA
BBAB
BBAA
BABB
BABA
BAAB
BAAA
ABBB
ABBA
ABAB
ABAA
AABB
AABA
AAAB
BBBAA
BBABB
BBABA
BBAAB
BBAAA
BABBB
BABBA
BABAB
BABAA
BAABB
BAABA
BAAAB
BAAAA
ABBBB
ABBBA
ABBAB
ABBAA
ABABB
ABABA
ABAAB
ABAAA
AABBB
AABBA
AABAB
AABAA
AAABB
AAABA
AAAAB
AAA
AAAA
AAAAA
Satisfies AAAA=AAA. So it comes down to A^n B^m where Max[{n,m}]<4.
But no new operators show up since AAB already cancels everything except for the cycle of the third element.
Display: one box for B, one for A, ... Say lengths {1,1,1,2,1,2...,2...,2...}. Need to Append BBBBB to make the sixth equivalence class end with "...".

???: opss[[9]]

The operator satisfies A^4=1, and even A^3 B=1. The only interesting path is 2^2=3, 2^3=4, 2^4=1. Any word with four or more elements gives the last operator.
Display: one box for B, one for A, ... Say lengths {1,1,1,2,1,1,2...,1,2...}.

Making the Graphic

Some compromises were made to make the picture, to try to get them to be the same size and length. Even so they are not that way. The necessary functions are in the file mwopssum.nb.

Sorting

The sorting was designed to put the black cells first. Then blackorder is like the normal sorting of strings except B comes before A. The command blacksort is for a list of equivalence classes. It lists the equivalence class in the order determined by their smallest elements, listing B's before A's.
Wolfram Cloud

You are using a browser not supported by the Wolfram Cloud

Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


I understand and wish to continue anyway »

You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.