Liking cljdoc? Tell your friends :D

kigen.genmorph

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.
raw docstring

add-gen-and-closeclj

(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

  1. we multiply everything (including itself by the new generator)
  2. for any new elements generated we go through with all generators so far
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
sourceraw docstring

distinct-up-to-fclj

(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.
sourceraw docstring

embeddingsclj

(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.
sourceraw docstring

embeddings-distinctclj

(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.
sourceraw docstring

gentabclj

(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.
sourceraw docstring

index-period-matchedclj

(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.
sourceraw docstring

morphisms-up-to-conjugationclj

(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.
sourceraw docstring

new-generator-conjrepsclj

(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. 
sourceraw docstring

new-mappingclj

(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
sourceraw docstring

sgp-embeddings-by-gensclj

(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.
sourceraw docstring

sys-mulclj

(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.
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close