LocalazyLocalazy
GAP est un système d'algèbre discrète computationnelle, avec un accent particulier sur la théorie des groupes computationnelle. Il fournit un langage de programmation, une bibliothèque de milliers de fonctions implémentant des algorithmes algébriques, et une grande bibliothèque de données. GAP est utilisé dans la recherche et l'éducation en algèbre, théorie des nombres, cryptographie, biologie computationnelle et autres domaines. GAP a été développé par une équipe de l'Université de St Andrews en Écosse, dirigée par le professeur Frank Lübeck. La première version de GAP a été publiée en 1986. La version actuelle est GAP 4, publiée en 2016. GAP est un logiciel libre, distribué selon les termes de la licence publique générale GNU. Le groupe GAP s'engage à garder GAP gratuit et open source, et à maintenir un haut niveau de qualité du code et de support aux utilisateurs. GAP est un langage interprété. Les programmes sont écrits dans des fichiers texte et exécutés par l'interpréteur GAP. Les programmes GAP peuvent être écrits dans n'importe quel éditeur de texte, mais il existe également plusieurs interfaces graphiques et IDEs disponibles. L'interpréteur GAP peut être exécuté de manière interactive, ce qui permet à l'utilisateur de taper des commandes et de voir immédiatement les résultats. C'est une excellente façon d'essayer GAP et de se familiariser avec le langage. Il est également possible d'exécuter des programmes GAP de manière non interactive, ce qui est utile pour les programmes plus longs ou pour exécuter le même programme plusieurs fois. Les programmes GAP peuvent être écrits dans un style procédural ou orienté objet. Dans la programmation procédurale, les algorithmes sont implémentés comme des procédures qui prennent des arguments et renvoient des résultats. Dans la programmation orientée objet, les données sont encapsulées dans des objets et les algorithmes sont implémentés comme des méthodes qui opèrent sur ces objets. GAP fournit une large bibliothèque standard de fonctions qui implémentent des algorithmes algébriques. Ces fonctions peuvent être utilisées pour résoudre des problèmes de théorie des groupes et d'autres domaines des mathématiques. De plus, GAP peut être étendu en chargeant des bibliothèques externes de fonctions, appelées packages. Il y a actuellement plus de 100 paquets disponibles pour GAP, fournissant des fonctionnalités pour la combinatoire, la théorie des nombres, la géométrie algébrique, la cryptographie et de nombreux autres domaines. GAP est également fourni avec une grande bibliothèque de données. Cette bibliothèque comprend des données pour les groupes, les permutations, les matrices et de nombreux autres objets mathématiques. Ces données peuvent être utilisées pour tester et évaluer les algorithmes, ou simplement pour explorer et apprendre les mathématiques.