Constructing isomorphisms/embeddings between semigroups given by generators. In other words, searching for an isomorphisms of Cayley-graphs. The elements of both semigroups are fully enumerated. The source semigroup is converted to generator table (partial multiplication table containing all the images of right multiplication by generators). The elements of target semigroups are classified by their index-periods in order to find possible targets for generators.
Constructing isomorphisms/embeddings between semigroups given by generators. In other words, searching for an isomorphisms of Cayley-graphs. The elements of both semigroups are fully enumerated. The source semigroup is converted to generator table (partial multiplication table containing all the images of right multiplication by generators). The elements of target semigroups are classified by their index-periods in order to find possible targets for generators.
(add-gen-and-close phi gen phiofgen gens Smul Tmul)
Add a new generator and close the Cayley-graph. There are two phases for adding a new generator
Add a new generator and close the Cayley-graph. There are two phases for adding a new generator 1. we multiply everything (including itself by the new generator) 2. for any new elements generated we go through with all generators so far
(distinct-up-to-f f coll)
Classifies the elements of coll by function f and keeps only a representative element from each class.
Classifies the elements of coll by function f and keeps only a representative element from each class.
(embeddings Sgens Smul tgs Tmul)
All embeddings of source semigroup into target induced by the possible images of the generators.
All embeddings of source semigroup into target induced by the possible images of the generators.
(embeddings-distinct Sgens Smul tgs Tmul conj-fn-bundle)
All morphisms from embedding seeds, but lossy ones filtered out.
All morphisms from embedding seeds, but lossy ones filtered out.
(gentab gens mul)
Right generation table for semigroup given by generator elements and multiplication. Returns the generators and the multiplication by generators function. When the elements are enumerated the generators are put in front. Otherwise, table indexing would be more complicated.
Right generation table for semigroup given by generator elements and multiplication. Returns the generators and the multiplication by generators function. When the elements are enumerated the generators are put in front. Otherwise, table indexing would be more complicated.
(index-period-matched {Sgens :gens Smul :mul} Tgens Tmul)
Returns for each generator in S, the elements of T with matching index-period values. WARNING: It fully enumerates T.
Returns for each generator in S, the elements of T with matching index-period values. WARNING: It fully enumerates T.
(morphisms-up-to-conjugation morphs setconjrep)
Returns the distinct morphs up to conjugation. First checking by the equality of the image set, then by its conjugacy class representative.
Returns the distinct morphs up to conjugation. First checking by the equality of the image set, then by its conjugacy class representative.
(new-generator-conjreps
phi
n
Sgens
tgs
{repconj :conjrep setconjrep :setconjrep conj-conj :conjconj})
Finds the possible target generators up to conjugation. For the very first generator it chooses conjugacy class representatives.
Finds the possible target generators up to conjugation. For the very first generator it chooses conjugacy class representatives.
(new-mapping phi a b mulS mulT)
Extends the morphism phi by multiplying a by b and finding phi(a,b) if the map is homomorphic, if not it returns nil. If phi(a,b) is already known, then it returns an empty vector. If it is newly found, it gives a vector [ab phi(a,b)], that can be conjoined to phi. phi - morphism represented as a map a,b - elements of S already in phi mulS, mulT - multiplication in S and T
Extends the morphism phi by multiplying a by b and finding phi(a,b) if the map is homomorphic, if not it returns nil. If phi(a,b) is already known, then it returns an empty vector. If it is newly found, it gives a vector [ab phi(a,b)], that can be conjoined to phi. phi - morphism represented as a map a,b - elements of S already in phi mulS, mulT - multiplication in S and T
(sgp-embeddings-by-gens Sgens Smul Tgens Tmul)
(sgp-embeddings-by-gens Sgens Smul Tgens Tmul conj-fn-bundle)
Computes all embeddings from source semigroup to target semigroup. Semigroups are given by generators and their multiplication functions. Source semigroup is replaced by its generation table. It returns a list of maps containing the images of the source generators, or an empty list. Results are up to conjugation if conjugation action and symmetries are given.
Computes all embeddings from source semigroup to target semigroup. Semigroups are given by generators and their multiplication functions. Source semigroup is replaced by its generation table. It returns a list of maps containing the images of the source generators, or an empty list. Results are up to conjugation if conjugation action and symmetries are given.
(sys-mul phi elts gens Smul Tmul)
Systematic right multiplication of elts by gens and collecting new elements. Elts and gens are all in phi already. Phi is being built along the way but new elements need proper extension later, that's why they are collected.
Systematic right multiplication of elts by gens and collecting new elements. Elts and gens are all in phi already. Phi is being built along the way but new elements need proper extension later, that's why they are collected.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close