10 research outputs found

    The Largest Subsemilattices of the Endomorphism Monoid of an Independence Algebra

    Get PDF
    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 XX 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 nn, 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 2n12^{n-1} elements (if the clone of \A does not contain any constant operations) or 2n2^n 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 XX, the monoid of partial transformations on XX, the monoid of endomorphisms of a free GG-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

    Get PDF
    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)

    Get PDF
    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

    No full text
    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
    corecore