Article de reference

SageMath

SageMath (anciennement Sage ou SAGE , « System for Algebra and Geometry Experimentation » ) est un système de calcul formel (CAS) dont les fonctionnalités couvrent de nombreux a...

SageMath (anciennement Sage ou SAGE , « System for Algebra and Geometry Experimentation » ) est un système de calcul formel (CAS) dont les fonctionnalités couvrent de nombreux aspects des mathématiques , notamment l'algèbre , la combinatoire , la théorie des graphes , la théorie des groupes , les variétés différentiables , l'analyse numérique , la théorie des nombres , le calcul et les statistiques .

La première version de SageMath a été publiée le 24 février 2005 en tant que logiciel libre et open source sous les termes de la licence publique générale GNU version 2, avec pour objectif initial de créer une « alternative open source à Magma , Maple , Mathematica et MATLAB ». Le créateur et chef du projet SageMath, William Stein , était un mathématicien de l' Université de Washington .

SageMath utilise une syntaxe ressemblant à celle de Python , prenant en charge les constructions procédurales , fonctionnelles et orientées objet .

Développement

William A. Stein

Lors de la conception de Sage, Stein s'est rendu compte qu'il existait de nombreux logiciels mathématiques open source déjà écrits dans différents langages , à savoir C , C++ , Common Lisp , Fortran et Python .

Plutôt que de réinventer la roue , Sage (qui est écrit principalement en Python et Cython ) intègre de nombreux logiciels CAS spécialisés dans une interface commune, pour laquelle un utilisateur n'a besoin de connaître que Python. Cependant, Sage contient des centaines de milliers de lignes de code uniques ajoutant de nouvelles fonctions et créant les interfaces entre ses composants.

SageMath fait appel à des étudiants et à des professionnels pour le développement. Le développement de SageMath est soutenu à la fois par le travail bénévole et par des subventions . Cependant, ce n'est qu'en 2016 que le premier développeur Sage à temps plein a été embauché (financé par une subvention de l'UE ). La même année, Stein a décrit sa déception face au manque de financement universitaire et de qualifications pour le développement de logiciels, citant cela comme la raison de sa décision de quitter son poste universitaire permanent pour travailler à temps plein sur le projet dans une entreprise nouvellement fondée, SageMath, Inc.

Réalisations

Performance

Les binaires et le code source de SageMath sont disponibles sur la page de téléchargement. Si SageMath est construit à partir du code source, de nombreuses bibliothèques incluses telles que OpenBLAS , FLINT , GAP (système de calcul formel) et NTL seront réglées et optimisées pour cet ordinateur, en tenant compte du nombre de processeurs , de la taille de leurs caches , de la présence ou non d'un support matériel pour les instructions SSE , etc.

Cython peut augmenter la vitesse des programmes SageMath , car le code Python est converti en C.

Licences et disponibilité

SageMath est un logiciel libre , distribué sous les termes de la licence publique générale GNU version 3.

SageMath 10.0 (mai 2023) nécessite le sous-système Windows pour Linux en version 2, qui à son tour nécessite que Windows s'exécute en tant que client Hyper-V . SageMath 8.0 (juillet 2017), dont le développement a été financé par le projet OpenDreamKit, a été construit avec succès sur Cygwin , et un installateur binaire pour les versions 64 bits de Windows était disponible. Bien que Microsoft ait sponsorisé une version Windows de SageMath, avant 2016, les utilisateurs de Windows devaient utiliser une technologie de virtualisation telle que VirtualBox pour exécuter SageMath.

Les distributions Linux dans lesquelles SageMath est disponible sous forme de paquet sont Fedora , Arch Linux , Debian , Ubuntu et NixOS . Dans Gentoo , il est disponible via layman dans la superposition « sage-on-gentoo » . Le paquet utilisé par NixOS est disponible pour une utilisation sur d'autres distributions, en raison de la nature indépendante de la distribution de son gestionnaire de paquets, Nix .

Le préfixe Gentoo fournit également Sage sur d'autres systèmes d'exploitation.

Paquets logiciels contenus dans SageMath

La philosophie de SageMath est d'utiliser les bibliothèques open source existantes partout où elles existent. Par conséquent, il utilise de nombreuses bibliothèques provenant d'autres projets.

Paquets mathématiques
contenus dans SageMath
Algèbre GAP , Singulier , FLINT
Géométrie algébrique Singulier
Arithmétique de précision arbitraire GMP , MPFR , MPFI , NTL , mpmath, Arb
Géométrie arithmétique PARI/GP , NTL , mwrank , ECM
Calcul Maxima , SymPy , GiNaC , Giac , FriCAS
Combinatoire Symmetrica, Sage-Combinat
Algèbre linéaire ATLAS , BLAS , LAPACK , NumPy , LinBox, IML, GSL
Théorie des graphes RéseauX
Théorie des groupes ÉCART
Calcul numérique GSL, SciPy , NumPy , ATLAS
Théorie des nombres PARI/GP , SILEX , NTL
Calcul statistique R , SciPy
Autres packages
contenus dans SageMath
Interface de ligne de commande IPython
Base de données ZODB , SQLite
Interface graphique Carnet SageMath, MathJax (anciennement jsMath )
Graphique matplotlib , Tachyon , GD , Jmol
Langage de programmation interactif Python
Mise en réseau Tordu
Autres packages mathématiques
disponibles pour SageMath
Géométrie différentielle et calcul tensoriel Sage Manifolds

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index