Système de calcul formel - Computer algebra system
Un système d'algèbre informatique ( CAS ) ou système d'algèbre symbolique ( SAS ) est un logiciel mathématique capable de manipuler des expressions mathématiques d'une manière similaire aux calculs manuels traditionnels des mathématiciens et des scientifiques . Le développement des systèmes de calcul formel dans la seconde moitié du 20e siècle fait partie de la discipline du « calcul formel » ou « calcul symbolique », qui a stimulé le travail en algorithmes sur des objets mathématiques tels que les polynômes .
Les systèmes de calcul formel peuvent être divisés en deux classes : spécialisées et générales. Les spécialisées sont consacrées à une partie spécifique des mathématiques, comme la théorie des nombres , la théorie des groupes , ou l'enseignement des mathématiques élémentaires .
Les systèmes de calcul formel à usage général visent à être utiles à un utilisateur travaillant dans tout domaine scientifique nécessitant la manipulation d'expressions mathématiques. Pour être utile, un système de calcul formel à usage général doit inclure diverses fonctionnalités telles que :
- une interface utilisateur permettant à un utilisateur de saisir et d'afficher des formules mathématiques, généralement à partir d'un clavier, de sélections de menu, d'une souris ou d'un stylet.
- un langage de programmation et un interpréteur (le résultat d'un calcul a généralement une forme et une taille imprévisibles ; l'intervention de l'utilisateur est donc fréquemment nécessaire),
- un simplificateur , qui est un système de réécriture pour simplifier les formules mathématiques,
- un gestionnaire de mémoire , incluant un ramasse-miettes , nécessaire à la taille énorme des données intermédiaires, qui peuvent apparaître lors d'un calcul,
- une arithmétique de précision arbitraire , nécessaire par la taille énorme des entiers qui peuvent se produire,
- une grande bibliothèque d' algorithmes mathématiques et de fonctions spéciales .
La bibliothèque doit non seulement répondre aux besoins des utilisateurs, mais aussi aux besoins du simplificateur. Par exemple, le calcul des plus grands diviseurs communs polynomiaux est systématiquement utilisé pour la simplification des expressions faisant intervenir des fractions.
Cette grande quantité de capacités informatiques requises explique le petit nombre de systèmes de calcul formel à usage général. Les principaux sont Axiom , Maxima , Magma , Maple , Mathematica et SageMath .
Histoire
Les systèmes de calcul formel ont commencé à apparaître dans les années 1960 et ont évolué à partir de deux sources assez différentes : les exigences des physiciens théoriques et la recherche en intelligence artificielle .
Un excellent exemple du premier développement a été le travail pionnier mené par le futur lauréat du prix Nobel de physique Martinus Veltman , qui a conçu un programme pour les mathématiques symboliques, en particulier la physique des hautes énergies, appelé Schoonschip (néerlandais pour "navire propre") en 1963. Un autre système précoce était FORMAC .
En utilisant Lisp comme base de programmation, Carl Engelman a créé MATHLAB en 1964 à MITRE dans un environnement de recherche en intelligence artificielle. Plus tard, MATHLAB a été mis à la disposition des utilisateurs sur les systèmes PDP-6 et PDP-10 exécutant TOPS-10 ou TENEX dans les universités. Aujourd'hui, il peut encore être utilisé sur les émulations SIMH du PDP-10. MATHLAB (« math ematical lab oratory ») ne doit pas être confondu avec MATLAB (« mat rix lab oratory »), qui est un système de calcul numérique construit 15 ans plus tard à l' université du Nouveau-Mexique .
Les premiers systèmes de calcul formel populaires étaient muMATH , Reduce , Derive (basé sur muMATH) et Macsyma ; une version copyleft populaire de Macsyma appelée Maxima est activement maintenue. Réduire est devenu un logiciel libre en 2008. À ce jour, les systèmes commerciaux les plus populaires sont Mathematica et Maple , qui sont couramment utilisés par les mathématiciens de recherche, les scientifiques et les ingénieurs. Les alternatives disponibles gratuitement incluent SageMath (qui peut servir de frontal à plusieurs autres CAS gratuits et non libres).
En 1987, Hewlett-Packard a introduit la première calculatrice portable CAS avec la série HP-28 , et il était possible, pour la première fois dans une calculatrice, d'organiser des expressions algébriques, la différenciation, l'intégration symbolique limitée, la construction de la série de Taylor et un solveur d'équations algébriques. En 1999, le CAS Erable développé indépendamment pour la série HP 48 est devenu une partie officiellement intégrée du micrologiciel de la série émergente HP 49/50 , et un an plus tard dans la série HP 40 , tandis que le HP Prime a adopté le système Xcas . en 2013.
La société Texas Instruments a sorti en 1995 la calculatrice TI-92 avec un CAS basé sur le logiciel Derive ; la série TI-Nspire a remplacé Derive en 2007. La série TI-89 , lancée pour la première fois en 1998, contient également un CAS.
Casio a sorti sa première calculatrice CAS avec le CFX-9970G et lui a succédé avec la série Algebra FX en 1999-2003 et la série ClassPad actuelle .
Plus récemment, des systèmes de calcul formel ont été mis en œuvre à l'aide de réseaux de neurones artificiels .
Manipulations symboliques
Les manipulations symboliques prises en charge incluent généralement :
- simplification vers une expression plus petite ou une forme standard , y compris la simplification automatique avec des hypothèses et la simplification avec des contraintes
- substitution de symboles ou de valeurs numériques pour certaines expressions
- changement de forme d'expressions : développement de produits et de puissances, factorisation partielle et complète , réécriture sous forme de fractions partielles , satisfaction de contraintes , réécriture de fonctions trigonométriques sous forme d'exponentielles, transformation d'expressions logiques, etc.
- différenciation partielle et totale
- une certaine intégration indéfinie et définie (voir intégration symbolique ), y compris les intégrales multidimensionnelles
- optimisation globale symbolique avec et sans contrainte
- solution d' équations linéaires et de certaines équations non linéaires sur divers domaines
- solution de quelques équations différentielles et aux différences
- prendre des limites
- transformations intégrales
- opérations en série telles que l'expansion, la sommation et les produits
- opérations matricielles incluant produits , inverses , etc .
- calcul statistique
- démonstration et vérification de théorèmes très utiles dans le domaine des mathématiques expérimentales
- génération de code optimisée
Dans ce qui précède, le mot certains indique que l'opération ne peut pas toujours être effectuée.
Capacités supplémentaires
Beaucoup incluent également :
- un langage de programmation , permettant aux utilisateurs d'implémenter leurs propres algorithmes
- opérations numériques de précision arbitraire
- arithmétique des nombres entiers exacts et fonctionnalité de la théorie des nombres
- Édition d'expressions mathématiques sous forme bidimensionnelle
- tracer des graphiques et des tracés paramétriques de fonctions en deux et trois dimensions, et les animer
- dessiner des tableaux et des diagrammes
- API pour le lier à un programme externe tel qu'une base de données, ou à utiliser dans un langage de programmation pour utiliser le système de calcul formel
- manipulation de chaîne telle que la correspondance et la recherche
- modules complémentaires destinés à être utilisés dans les mathématiques appliquées telles que la physique, la bioinformatique , la chimie computationnelle et les progiciels pour le calcul physique
Certains incluent :
- production et édition graphiques telles que l'imagerie générée par ordinateur et le traitement du signal en tant que traitement d' image
- synthèse sonore
Certains systèmes de calcul formel se concentrent sur des disciplines spécialisées ; ceux-ci sont généralement développés dans le milieu universitaire et sont gratuits. Ils peuvent être inefficaces pour les opérations numériques par rapport aux systèmes numériques .
Types d'expressions
Les expressions manipulées par le CAS incluent généralement des polynômes dans plusieurs variables ; fonctions standard des expressions ( sinus , exponentielle , etc.); diverses fonctions spéciales ( Γ , ζ , erf , fonctions de Bessel , etc.); fonctions arbitraires d'expressions; optimisation; dérivées, intégrales, simplifications, sommes et produits d'expressions ; séries tronquées avec des expressions comme coefficients, matrices d'expressions, etc. Les domaines numériques pris en charge incluent généralement la représentation à virgule flottante des nombres réels , les entiers (de taille illimitée), le complexe (représentation à virgule flottante), la représentation par intervalles des réels , le nombre rationnel (représentation exacte) et les nombres algébriques .
Utilisation dans l'éducation
Il y a eu de nombreux défenseurs de l'augmentation de l'utilisation des systèmes de calcul formel dans les classes du primaire et du secondaire. La principale raison d'un tel plaidoyer est que les systèmes d'algèbre informatique représentent plus les mathématiques du monde réel que les mathématiques basées sur le papier et le crayon ou sur la calculatrice à main. Cette poussée pour augmenter l'utilisation de l'ordinateur dans les classes de mathématiques a été appuyée par certains conseils scolaires. Il a même été rendu obligatoire dans le curriculum de certaines régions.
Les systèmes de calcul formel ont été largement utilisés dans l'enseignement supérieur. De nombreuses universités proposent soit des cours spécifiques sur le développement de leur utilisation, soit elles s'attendent implicitement à ce que les étudiants les utilisent pour leurs travaux de cours. Les entreprises qui développent des systèmes de calcul formel ont poussé à augmenter leur prévalence parmi les programmes universitaires et collégiaux.
Les calculatrices équipées du CAS ne sont pas autorisées sur l' ACT , le PLAN et dans certaines salles de classe, bien qu'elles puissent être autorisées sur tous les tests autorisés par la calculatrice du College Board , y compris le SAT , certains tests de sujet SAT et l' AP Calculus , Chemistry , Examens de physique et de statistiques .
Mathématiques utilisées dans les systèmes de calcul formel
- Algorithme de complétion Knuth-Bendix
- Algorithmes de recherche de racines
- Intégration symbolique via par exemple l' algorithme de Risch ou l' algorithme de Risch-Norman
- Sommation hypergéométrique via par exemple l'algorithme de Gosper
- Limiter le calcul via par exemple l'algorithme de Gruntz
- Factorisation polynomiale via, par exemple, sur des corps finis, l'algorithme de Berlekamp ou l' algorithme de Cantor-Zassenhaus .
- Plus grand diviseur commun via, par exemple, l' algorithme euclidien
- Élimination gaussienne
- base de Gröbner via par exemple l'algorithme de Buchberger ; généralisation de l'algorithme euclidien et élimination de Gauss
- Padé approximatif
- Lemme de Schwartz-Zippel et test des identités polynomiales
- théorème des restes chinois
- Équations diophantiennes
- Élimination des quantificateurs sur des nombres réels via par exemple la méthode de Tarski / Décomposition algébrique cylindrique
- Algorithme de Landau (radicaux imbriqués)
- Dérivées de fonctions élémentaires et fonctions spéciales . (par exemple, voir les dérivées de la fonction gamma incomplète .)
- Décomposition algébrique cylindrique
Voir également
- Liste des systèmes de calcul formel
- Calcul scientifique
- Paquet statistique
- Démonstration automatisée du théorème
- Langage de modélisation algébrique
- Programmation en logique de contraintes
- Théories modulo de la satisfaction
Les références
Liens externes
- Définition et fonctionnement d'un système de calcul formel
- Programme d'études et évaluation à l'ère des systèmes d'algèbre informatique - Du Centre d' échange d' informations sur les ressources éducatives pour les sciences, les mathématiques et l'éducation environnementale, Columbus, Ohio .
- Richard J. Fateman. "Essais de simplification algébrique." Rapport technique MIT-LCS-TR-095, 1972. (D'un intérêt historique pour montrer la direction de la recherche en algèbre informatique. Sur le site Web du MIT LCS : [1] )