10 research outputs found
The Largest Subsemilattices of the Endomorphism Monoid of an Independence Algebra
An algebra \A is said to be an independence algebra if it is a matroid
algebra and every map \al:X\to A, defined on a basis of \A, can be
extended to an endomorphism of \A. These algebras are particularly well
behaved generalizations of vector spaces, and hence they naturally appear in
several branches of mathematics such as model theory, group theory, and
semigroup theory.
It is well known that matroid algebras have a well defined notion of
dimension. Let \A be any independence algebra of finite dimension , with
at least two elements. Denote by \End(\A) the monoid of endomorphisms of
\A. We prove that a largest subsemilattice of \End(\A) has either
elements (if the clone of \A does not contain any constant operations) or
elements (if the clone of \A contains constant operations). As
corollaries, we obtain formulas for the size of the largest subsemilattices of:
some variants of the monoid of linear operators of a finite-dimensional vector
space, the monoid of full transformations on a finite set , the monoid of
partial transformations on , the monoid of endomorphisms of a free -set
with a finite set of free generators, among others.
The paper ends with a relatively large number of problems that might attract
attention of experts in linear algebra, ring theory, extremal combinatorics,
group theory, semigroup theory, universal algebraic geometry, and universal
algebra.Comment: To appear in Linear Algebra and its Application
Enumerating transformation semigroups
This work was partially supported by the NeCTAR Research Cloud, an initiative of the Australian Government’s Super Science scheme and the Education Investment Fund; and by the EU Project BIOMICS (Contract Number CNECT-ICT-318202).We describe general methods for enumerating subsemigroups of finite semigroups and techniques to improve the algorithmic efficiency of the calculations. As a particular application we use our algorithms to enumerate all transformation semigroups up to degree 4. Classification of these semigroups up to conjugacy, isomorphism and anti-isomorphism, by size and rank, provides a solid base for further investigations of transformation semigroups.PostprintPeer reviewe
Computing congruences and endomorphisms for algebras of type (2m, 1n)
Atualmente a principal aplicação de software para semigrupos é a package de GAP
chamada Semigroups [29], em articulação com a package Smallsemi [13]. O GAP [17]
é um sistema e linguagem de programação para álgebra discreta computacional. Embora
estas packages ofereçam muitas opções de cálculo e forneçam uma biblioteca de todos
os semigrupos até o tamanho 8, várias operações de semigrupos importantes não estão
disponíveis. Em parte, isto deve-se ao facto de a arquitetura subjacente ser voltada para a
teoria de grupos e os semigrupos frequentemente requerem técnicas algorítmicas que são
mais próximas das empregadas na Álgebra Universal do que daquelas usadas em grupos.
Existem maneiras de construir álgebras a partir das existentes (produtos diretos etc.),
mas a operação inversa é crítica: decompor uma dada álgebra em outras menores. Este tipo
de decomposição é especialmente importante em semigrupos, pois mesmo a estrutura de
semigrupos muito pequenos pode ser muito obscura.
Até agora não existe uma ferramenta computacional geral para decompor semigrupos.
Por exemplo, o GAP já contém código para encontrar todas as congruências de classes muito
particulares de semigrupos, mas está muito longe de fornecer um método geral. A situação é
ainda pior em relação aos endomorfismos. O objetivo da package CREAM (Algebra CongRuences, Endomorphisms and AutomorphisMs) é resolver esta situação implementando algoritmos eficientes para calcular congruências, endomorfismos e automorfismos de álgebras
do tipo (2m, 1 n). Vários algoritmos gerais (como em [15]) serão adaptados para o contexto da teoria de semigrupos e mais geralmente para álgebras do tipo (2m, 1 n ) cobrindo assim
grupos e semigrupos mas também álgebras unárias e também loops, campos, anéis, semianéis, álgebras de Lie, MV-álgebras, Meadows, álgebras de lógica, etc. Estes algoritmos
serão implementados em GAP. Isso incluirá as seguintes questões:
• Dada uma álgebra finita A do tipo (2m, 1 n ), encontrar todas as congruências de A,
pelo menos tão rápido quanto os programas existentes (ou seja, o código produzido
será geral e pelo menos tão rápido quanto o código que existe para classes específicas
de álgebras apenas);
• Dada uma álgebra finita A do tipo (2m, 1 n ), encontrar todos os endomorfismos de
A; em particular, o código deve calcular efetivamente os automorfismos de A, uma ferramenta que essencialmente existe apenas para grupos.
Uma álgebra universal é uma estrutura algébrica que consiste num conjunto A e numa
coleção de operações sobre A. Uma operação n-aria sobre A é uma função que tem como
entrada um n-tuplo de elementos de A e retorna um elemento de A. Neste contexto só estão
a ser consideradas operações com aridade 1 ou 2, i.e. operações unárias e binárias. Uma
álgebra do tipo (2m, 1 n ) é uma álgebra universal com m operações binárias e n unárias.
Este uso genérico da package CREAM depende de teoremas de álgebra universal.
Isto tem custos, pois teoremas de tipos específicos de álgebras (e.g. grupos, semigrupos,
etc) não podem ser usados para reduzir o espaço de procura e melhorar a performance.
Canon e Holt [10], usaram vários algoritmos inteligentes e teoremas específicos de grupos
para produzir código mais rápido que a package CREAM a calcular automorfismos de
grupos com ordens maiores. Analogamente, Mitchell et al. [29] usaram teoremas da teoria
de semigrupos para calcular eficazmente automorfismos e congruências de semigrupos
completamente 0-simples. Mas estes estão entre os poucos casos de código GAP disponível
que é mais rápido que a package CREAM que é de uso mais generalizado. Para a maioria
de outras classes de álgebras de tipo (2m, 1 n ) a package CREAM é mais rápida a calcular
auto[endo]morfismos/congruências. Um dos algoritmos principais implementado na package é o algoritmo de Freese descrito em [15] que calcula congruências principais para uma
álgebra universal. Para chegar a esta performance a package CREAM usa uma mistura de algoritmos
standard de álgebra universal juntamente com ferramentas de procura eficiente por modelos
finitos de fórmulas de primeira ordem e a implementação de partes de código em C.
Em geral, calcular congruências de álgebras é uma tarefa difícil. Existem vários teoremas
descritivos para diferentes tipos de álgebra e algumas ferramentas computacionais para
calcular congruências para álgebras finitas, mas geralmente essas ferramentas são aplicáveis
a um conjunto muito específico e estreito de álgebras. O nosso objetivo era fornecer
uma ferramenta eficaz para calculá-los para álgebras finitas do tipo (2m, 1 n ) abrangendo
um conjunto muito amplo de álgebras, incluindo a maioria dos tipos e classes de álgebra
atualmente estudados. O algoritmo usado foi o algoritmo de Freese cuja eficiência depende
em muito da representação das álgebras e congruências. Em especial a representação
de partições/congruências como um array é determinante na eficiência do cálculo das
congruências principais uma vez que permite uma junção de blocos muito rápida, uma das
operações mais utilizadas durante a execução do algoritmo de congruências. Além disso a
representação usada não limita o âmbito geral das álgebras suportadas.
No âmbito deste doutoramento vários algoritmos para o cálculo de automorfismos
foram testados e a conclusão foi que o algoritmo mais promissor foi um algoritmo que usa invariantes das operações das álgebras para limitar os possíveis automorfismos da álgebra.
Este algoritmo é usado na package Loops cuja implementação foi usada como guia tendo
o seu âmbito sido expandido para suportar não só magmas mas qualquer álgebra do tipo
(2 m, 1 n ). A implementação final dos algoritmos de automorfismos usando a abordagem
de invariantes foi contribuída para a package CREAM por Choiwah Chow com base nas
conclusões e no trabalho realizado no âmbito deste doutoramento.
Dada a falta de referências sobre algoritmos para calcular endomorfismos, o algoritmo
para calcular endomorfismos usado na package CREAM foi definido usando teoremas básicos de álgebra universal como o teorema do homomorfismo, para relacionar congruências,
álgebras quocientes, subálgebras e endomorfismos. O algoritmo foi desenvolvido usando os
algoritmos de congruências e automorfismos implementados, e uma aplicação denominada
MACE4. O MACE4 [27] é uma aplicação de linha de comando que procura modelos finitos
de fórmulas de primeira ordem.
Embora o GAP seja adequado para prototipagem e implementação rápida de algoritmos,
o código resultante não é muito rápido devido ao facto de ser uma linguagem interpretada.
Reescrever o código em C permitiu melhorias surpreendentes que alcançaram uma melhoria
de até 670 vezes do código GAP para o código C.
Além disso, a integração com o MACE4 permite combinar a eficiência de algoritmos
como [15], com um amplo conjunto de possibilidades fornecidas por uma ferramenta
eficiente na procura por modelos finitos de fórmulas de primeira ordem, dando uma
flexibilidade muito grande à package CREAM.
A package CREAM é em média 20 vezes mais rápida no cálculo de congruências
dos tipos de semigrupos muito limitados que são suportados pela função CongruencesOfSemigroups da package Semigroups que é a função mais abrangente em GAP para o
cálculo de congruências. A única aplicação que possui um âmbito semelhante em termos de
álgebras suportadas é a interface de linha de comando UACalc, mas faz isso em jython, sem
beneficiar do ecossistema existente na plataforma GAP. Quando comparado com o UACalc,
o package CREAM é consistentemente mais de 3 vezes mais rápido.
Relativamente a automorfismos e endomorfismos, a comparação com outras bibliotecas/aplicativos é muito difícil, uma vez que o suporte é limitado principalmente a grupos
e outras estruturas algébricas intimamente relacionadas com grupos. Para essas álgebras,
o desempenho das packages GAP Loops e Sonata são comparáveis e às vezes melhores
do que a package CREAM. Essas bibliotecas por vezes contam com o uso de teoremas
específicos para essas álgebras. Mas apenas a package CREAM suporta a maioria das
álgebras estudadas em álgebra convencional e moderna. Dada a importância das congruências, automorfismos e endomorfismos para o estudo de
estruturas algébricas, espera-se que a package CREAM com seu desempenho e versatilidade
possa ser uma ferramenta útil para a comunidade GAP e um amplo grupo de matemáticos.
O código resultante está disponível como o pacote GAP CREAM que está totalmente
documentado.While there are efficient algorithms to decompose very particular classes of semigroups,
groups and quasigroups, there are no similar facilities available for the more general
algebraic structures such as algebras of type (2m, 1 n ), with an arbitrary number of binary
and unary operations. In this thesis, its presented the GAP package CREAM (Algebra
CongRuences, Endomorphisms and AutomorphisMs) that provides efficient algorithm
implementations to calculate congruences, endomorphisms and automorphisms of algebras
of type (2m, 1 n ) covering groups and semigroups but also unary algebras, and loops, fields,
rings, semi-rings, MV-algebras, Meadows, algebras of logic, etc.
An universal algebra is an algebraic structure consisting of a set A together with a
collection of operations on A. An n-ary operation on A is a function that takes n-tuple of
elements from A and returns a single element of A. In the current scope are only considered
operations with arity of 1 or 2, i.e. unary and binary operations. An algebra of type (2 m,1 n )
is a universal algebra with m binary and n unary operations.
This general applicability of the CREAM package relies on universal algebra theorems. This comes with a cost since theorems on specific types of algebras (e.g. groups,
semigroups, etc) cannot be used to reduce the search space and enhance performance.
Canon and Holt, using a mix of smart algorithms and specific group theorems, produced
fast code to compute automorphisms of groups that is faster than CREAM on large orders.
Similarly, Mitchell et al. used semigroup theory theorems to compute in a very effective
way automorphisms and congruences of completely 0-simple semigroups. But these are
among the few cases of known GAP code that are faster than our general purpose package
CREAM. For most other classes of algebras of type (2m, 1 n ), CREAM is faster computing
auto[endo]morphisms/congruences. One core algorithm implemented in the package is
Freese’s algorithm [15] that calculates principal congruences for a universal algebra.
To get this performance, CREAM uses a mixture of standard universal algebra algorithms together with tools that can search efficiently for finite models of first-order formulas
and the implementation of parts of the code in C
Computing automorphisms of semigroups
In this paper an algorithm is presented that can be used to calculate the automorphism group of a finite transformation semigroup. The general algorithm employs a special method to compute the auto- morphism group of a finite simple semigroup. As applications of the algorithm all the automorphism groups of semigroups of order at most 7 and of the multiplicative semigroups of some group rings are found. We also consider which groups occur as the automor- phism groups of semigroups of several distinguished types