For mwops-2.eps
For mwops-2.eps
Notes on the Operators and their Equivalence classes
Notes on the Operators and their Equivalence classes
0: opss[[1]]
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]]
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]]
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]]
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]]
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]]
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]]
???: 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 |
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]]
???: opss[[8]]
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]]
???: 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
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
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.