https://github.com/egri-nagy/kigen
Computational Semigroup Theory Software System written in Clojure
https://github.com/egri-nagy/kigen
abstract-algebra clojure computer-algebra computer-algebra-system diagram-semigroups mathematics semigroup
Last synced: 3 months ago
JSON representation
Computational Semigroup Theory Software System written in Clojure
- Host: GitHub
- URL: https://github.com/egri-nagy/kigen
- Owner: egri-nagy
- License: gpl-3.0
- Created: 2015-02-07T10:13:25.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-12-03T09:59:42.000Z (11 months ago)
- Last Synced: 2024-12-03T10:41:53.548Z (11 months ago)
- Topics: abstract-algebra, clojure, computer-algebra, computer-algebra-system, diagram-semigroups, mathematics, semigroup
- Language: Clojure
- Homepage:
- Size: 729 KB
- Stars: 9
- Watchers: 5
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/egri-nagy/kigen)
# kigenComputational Semigroup Theory Software System written in [Clojure](https://clojure.org/)
To main purpose here is to "shadow" other computer algebra packages in semigroup theory, i.e. to serve as a "clean room" implementation recomputation tool. For mathematical research, where proofs or formal verification of the methods are not (yet) available, computing the same experiments with different algorithms implemented in different programming languages running on different architectures is a way to establish the correctness of computational results.
The shadowed semigroup packages are available in the [GAP](https://www.gap-system.org) computer algebra system. Namely,
1. [Semigroups](https://gap-packages.github.io/Semigroups/),
2. [SgpDec](https://gap-packages.github.io/sgpdec/),
3. [SubSemi](https://gap-packages.github.io/subsemi/).As of the 23.09.14, kigen includes
* calculating the skeleton for holonomy decompositions of transformation semigroups and constructing chain semigroups
* enumerating all subsemigroups and independent generating set of a semigroup using its multiplication table
* backtrack search for relational morphisms, divisions, homomorphism and isomorphisms by multiplication tables
* finding embeddings and isomorphisms of semigroups given by generating sets using Cayley graphs (not multiplication tables)
* constructing transducers based on input-output pairs ("lossless machine laerning") using relational programming (core.logic)kigen - origin in Japanese