22
<<<< [ ^ ] Présentation de SageMath >>>> Présentation de SageMath Plan de l'exposé Remerciements Rappels sur les logiciels libres Introduction à SageMath Quelques exemples simples Modes d'utilisation de SageMath Installation Le 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 [ ^ ]

Présentation de SageMath - pagesperso-orange.fr

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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 [^]

Page 2: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 3: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 4: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 5: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 6: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 7: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 8: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 9: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 10: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 11: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 12: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 13: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] Présentation de SageMath >>>>

Blocnote Jupyter

Version 2016-12-11 © 2016-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]

Page 14: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] Présentation de SageMath >>>>

Blocnote Jupyter

Version 2018-06-21 © 2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]

Page 15: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] Présentation de SageMath >>>>

Exemple interactif

Version 2018-06-07 © 2017-2018 ModLibre.info (licence cc-by-sa) W3C XHTML 1.0 CSS [^]

Page 16: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 17: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 18: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 19: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 20: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 21: Présentation de SageMath - pagesperso-orange.fr

<<<< [^] 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 [^]

Page 22: 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 [^]