Présentation de SageMath - pagesperso-orange.fr
Transcript of Présentation de SageMath - pagesperso-orange.fr
<<<< [^] Présentation de SageMath >>>>
Présentation de SageMath
Plan de l'exposé
RemerciementsRappels sur les logiciels libresIntroduction à SageMathQuelques exemples simplesModes d'utilisation de SageMathInstallationLe modèle économique de SageMath
Liens principaux
Présentation pdf en français (Tanger 2 mai 2012 en français)Présentation pdf en français (Saint-Flour 12 juin 2018 en français)Retour à 'ModLibre'
Version 2018-06-22 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Fiches Libres de l'ALDILwww.aldil.org/les-activites/les-projets/
>>>>
Logiciel libre = 4 libertés fondamentales
Liberté 0 :La liberté d'exécuter le programme pour tous les usages
Liberté 1 :La liberté d'étudier le fonctionnement du programme
Liberté 2 :La liberté de redistribuer des copies
Liberté 3 :La liberté d'améliorer le programme et de publier les améliorations
GNU/GPL (1989 ... ) = 4 libertés + Copyleft
! Les logiciels propriétaires !
! Les logiciels ouverts !
Version 2012-04-20 © 2007-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Licence « Creative Commons » (2001... )
PaternitéOLPC
PaternitéPartage des conditions initiales à l'identique Culture ...
OLPC, WikipédiaPaternité
Pas de Modification Citations ...
PaternitéPas d'utilisation commerciale
PaternitéPas d'utilisation commerciale
Partage des conditions initiales à l'identiquePhotos de paysages ...
PaternitéPas d'utilisation commerciale
Pas de ModificationPhotos de famille ...
Version 2016-10-14 © 2008-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Introduction à SageMath
SageMath est un logiciel libre de mathématiques sous licence GPL. Il combine la puissancede nombreux programmes libres (NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT,R...) dans une interface commune basée sur le langage de programmation Python.
Mission: Création d'une alternative viable, libre et open source à Magma, Maple,Mathematica et Matlab.
SageMath permet de faire des mathématiques générales et avancées, pures et appliquées. Ilcouvre une vaste gamme de mathématiques dont
l'algèbre,l'algèbre commutative,l'algèbre linéaire exacte,l'analyse,l'analyse numérique,la combinatoire,la cryptographie,la théorie des graphes,la théorie des groupes,la théorie des nombres...
Il est conçu pour l'éducation ou les études autant que pour la recherche.
Version 2016-11-06 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
SageMath est une distributionde logiciels mathématiques
Arithmétique en précision arbitraire GMP, MPFR, MPFI, NTL . . .Algèbre GAP, Maxima, Singula
Géométrie algébrique Singular, Macaulay2 (optionel)Géométrie arithmétique PARI, NTL, mwrank, ecm . . .
Calcul symbolique Maxima, SympyAlgèbre linéaire exacte Linbox, IML
Algèbre linéaire numérique GSL, Scipy, NumpyCombinatoire Symmetrica, Lrcalc, PALP, Coxeter 3
Théorie des graphes NetworkX, graphviz (optionel)Théorie des groupes GAP
... et bien d'autres !
Version 2016-11-07 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Calcul numérique et calcul formel
Calcul numérique Calcul formela = 1; b = 2; (a + b)^2 → 9
x = 0; cos(x)^2 + sin(x)^2 → 1(a + b)^2 ≡ a^2 + 2 a b + b^2
cos(x)^2 + sin(x)^2 ≡ 1diff ( x * cos(x) ) → -x * sin(x) + cos(x)
integrate(x^2, x) → 1/3 * x^3
Octave, Scilab, Python, Langage R Sage = GAP + Maxima + NTL + PARI-GP+ Singular + etc.
MATLAB, S++, etc. Magma, Maple, Mathematica, etc.
Optimisés pour le calcul numérique rapide La plupart des logiciels de calcul formelpermettent des calculs numériques
Dans cette comparaison, l'expression calcul numérique désigne tous lescalculs numériques y compris les calculs statistiques
Version 2016-11-07 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
SageMath : mathématiques exactes
4/6 → 2/3
sin(pi/4) → 1/2*sqrt(2)sin(pi/7) → sin(1/7*pi)
factorial(10) → 3628800factorial(20) → 2432902008176640000factorial(40) → 815915283247897734345611269596115894272000000000
avec affichage en précision contrôlée
n(4/6) → 0.666666666666667 IEEE : signe & mantisse sur 53 bitsn(4/6, 53) → 0.666666666666667n(4/6, 64) → 0.666666666666666667n(4/6,128) → 0.66666666666666666666666666666666666667n(4/6, 160) → 0.66666666666666666666666666666666666666666666667
n(sin(pi/4)) → 0.707106781186548
Version 2018-06-20 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Tracé d'une courbe : sin(x) / x versus x
plot( sin(x)/x, x, -4*pi, 4*pi )
Version 2012-04-30 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Disque aplati
c = circle((0, 0), 0.8, rgbcolor=(1, 0, 0), fill=True)c.show(aspect_ratio=0.5)
Version 2012-04-23 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Lignes de niveau
f(x,y) = cos(x*y)contour_plot(f, (-4,4), (-4,4))
Version 2012-04-30 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Les deux modes d'utilisation de SageMath
SageMath a deux modes d'utilisation :
un mode ligne de commande.un mode bloc-note (ou notebook) dont l'interface est un navigateur Web
Avec le mode bloc-note, vous n'êtes pas obligé d'installer SageMath sur votre ordinateur :SageMath fonctionne en mode client serveur et peut fonctionner sur un réseau (par exempleInternet).
Grâce à SageMath, il est possible de partager ou publier simplement vos feuilles de calcul,figures et graphiques en utilisant les fonctionnalités du bloc-note.
SageMath est principalement disponible en anglais. Une partie de sa documentation acependant été traduite en français.
Le livre électronique Calcul mathématique avec Sage (sagebook.gforge.inria.fr/) a été traduit enallemand (https://members.loria.fr/PZimmermann/sagebook/CalculDeutsch.pdf) et en anglais(sagebook.gforge.inria.fr/english.html).
Version 2018-06-20 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Mode ligne de commande
Remerciements : Nicolas M. THIÉRY
Version 2012-04-30 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Blocnote Jupyter
Version 2016-12-11 © 2016-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Blocnote Jupyter
Version 2018-06-21 © 2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Exemple interactif
Version 2018-06-07 © 2017-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Installation de SageMath
Guide général d'installation
Guide (wiki.sagemath.org/DownloadAndInstallationGuide)
Choix selon les systèmes d'exploitation
Choix (www-ftp.lip6.fr/pub/math/sagemath/index.html)Windows Microsoft : Installation de SageMath avec WindowsImage OVA : Image de virtualisation, une autre distribution binaire pour WindowsCD vif : CD vif auto démarrable pour SageLinux : binaires pour 32 et 64 bitsApple Mac OS X : binaires pour les systèmes Intel and PowerPCSolaris Oracle : binaires et sources
Version 2018-06-07 © 2017-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
SageMath sur une clef USB autodémarrable
On peut utiliser SageMath sur une clef USB pour des démonstrations
Référence 1 (sagedebianlive.metelu.net/)
Référence 2 (www-ftp.lip6.fr/pub/math/sagemath/livecd/index.html)
Ces clefs démarrent bien sur les ordinateurs Windows 7. Il faut passer en modeBIOS hérité (https://msdn.microsoft.com/fr-fr/library/windows/hardware/dn898495(v=vs.85).aspx) pour des ordinateurs Windows 8 ou Windows 10.
Version 2018-06-06 © 2017-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Remarques
Quel que soit le système d'exploitation, il faut avoir au moins 5 Go disponibles surle disque dur (dans la racine "/" ou dans "C:") ! Sinon on peut utiliser une clef USBautodémarrable.
Les différentes installations possibles sont semi-automatiques mais on n'est jamais àl'abri d'une fausse manoeuvre. Il est souhaitable de réaliser une sauvegardepréalable des fichiers les plus importants.
La plupart des associations de logiciels libres proposent une décharge deresponsabilité appropriée.
Exemple (https://cercll.wordpress.com/bienvenue/)
Version 2018-06-06 © 2017-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
SageMath et Python
SageMath est codé essentiellement en Python. Les sections nécessitant des calculs intensifssont écrites dans un langage compilé.
SageMath utilise un préprocesseur pour traduire les conventions mathématiques différentesdes conventions Python.
Exemple: SageMath : 2/3 -> 2/3 (un nombre rationnel) | Python : 2/3 -> 0 (un entier)
Version 2018-06-06 © 2017-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Modèle économique de SageMath
~ 250Contributeurs
ChercheursEnseignants
Subventions- coût des licencesANR, CNRS, NSF,
Universités, ...Google SC, MS, ...
UtilisateursChercheursEnseignantsIngénieurs~ 100 000
téléchargements
Réf: François Elie Économie du logiciel libre Eyrolles 2009
Version 2018-06-06 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
SageMath : un service en ligne loyal
Plate-forme loyale
Tout le système peut être vérifiéPas de porte dérobéePas de données personnelles
Système sécurisé
Utilisation de composants libres éprouvésLes sessions personnelles sont protégées par mots de passeTransmissions https
Ce n'est pas un système hyper-sécurisé
Priorité pour une évolution rapide
Conclusion
Les calculs sensibles devraient être réalisés localement
Réf: Laurent Séguin (Aful) & Jean-Paul Smets (Free Cloud Alliance)Les services en ligne loyaux
Version 2016-11-07 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]
<<<< [^] Présentation de SageMath >>>>
Présentation de SageMath
Plan de l'exposé
RemerciementsRappels sur les logiciels libresIntroduction à SageMathQuelques exemples simplesModes d'utilisation de SageMathInstallationLe modèle économique de SageMath
Liens principaux
Présentation pdf en français (Tanger 2 mai 2012 en français)Présentation pdf en français (Saint-Flour 12 juin 2018 en français)Retour à 'ModLibre'
Version 2018-06-22 © 2012-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]