Core Concepts
이 논문에서는 유한 생성 준군 또는 단군의 좌, 우, 또는 양측 합동식을 계산하는 두 가지 알고리즘을 제시한다. 첫 번째 알고리즘은 Sims의 낮은 지수 부군 알고리즘의 일반화이고, 두 번째 알고리즘은 주요 합동식을 결정한 다음 모든 가능한 결합을 찾는 것이다.
Abstract
이 논문은 유한 생성 준군 또는 단군의 유한 지수 합동식을 계산하는 두 가지 알고리즘을 제시한다.
첫 번째 알고리즘은 Sims의 낮은 지수 부군 알고리즘을 일반화한 것으로, 입력 준군 또는 단군 표현과 양의 정수 n을 받아 n개 이하의 클래스를 가진 합동식을 반복적으로 생성한다. 이 알고리즘은 단일 합동식 표현만 메모리에 유지하므로 공간 복잡도가 O(mn)이다.
두 번째 알고리즘은 주요 합동식을 결정한 다음 모든 가능한 결합을 찾는 것이다. 이 알고리즘은 무한 생성 준군 또는 단군에는 사용할 수 없지만, 유한 준군 또는 단군에는 적용할 수 있다. 이 알고리즘은 상대 Green 관계를 활용하여 생성해야 하는 주요 합동식 수를 줄일 수 있다.
두 알고리즘 모두 GAP 패키지 Semigroups에 구현되어 있으며, 첫 번째 알고리즘은 libsemigroups C++ 라이브러리와 libsemigroups pybind11 Python 바인딩에도 구현되어 있다.
Stats
4 × 4 직사각형 밴드 단군에는 22,069,828개의 우측 합동식이 있다.
5개 생성자를 가진 스타일릭 단군에는 1,431,795,099개의 좌측 합동식이 있다.
3 × 3 일반 선형 단군 M에는 44개의 상대 J-클래스와 1,621개의 상대 R-클래스가 있으며, M에는 6개의 주요 양측 합동식과 1,621개의 주요 우측 합동식이 있고, 전체 양측 합동식 수는 7개이다.
유한 체 F7 위의 2 × 2 행렬 단군 N에는 36개의 상대 J-클래스와 1,862개의 상대 R-클래스가 있으며, N에는 7개의 주요 양측 합동식과 376개의 주요 우측 합동식이 있고, 전체 양측 합동식 수는 10개이다.
Quotes
"2-sided congruences of semigroups and monoids is rather rich."
"The number of such congruences can be enormous, and the structure of the corresponding lattices can be wild."