Calcul mathématique avec Sage



Documents pareils
Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Sage : un logiciel libre de mathématiques

Calcul Scientifique avec 3

Python - introduction à la programmation et calcul scientifique

Le Master Mathématiques et Applications

MASTER (LMD) MODELISATION, OPTIMISATION, COMBINATOIRE ET ALGORITHME

Environnements et Outils de Développement Cours 1 Introduction

pythonocc: une plateforme de développement agile d applications CAO.

Évaluation des logiciels et autres réalisations

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING

Gestion du projet pour qu'il soit pérenne et collaboratif

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

L informatique en BCPST

Statistiques et traitement des données

WordPress : principes et fonctionnement

Installation d'un TSE (Terminal Serveur Edition)

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Éléments de programmation et introduction à Java

Etudier l informatique

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Peut-on faire confiance au calcul flottant?

Extensions, Documentation, Tutoriels, Astuces

LICENCE : INFORMATIQUE GENERALE

Nouveautés Ignition v7.7

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Logiciel Libre Cours 9 Modèles Économiques

Programmation Web. Madalina Croitoru IUT Montpellier

Représentation d un entier en base b

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

Éditorial. Tangente ÉDUCATION. Scratch, AlgoBox, Python. Trimestriel - n 15 - janvier 2011 Numéro spécial 16 activités TICE pour le lycée

Faculté des Sciences Mathématiques, Physiques et Naturelles de Tunis

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

White Paper - Livre Blanc

Installation d un patch de mise à jour et d un pack langue dans SugarCRM Open Source 4.5.1

Business Intelligence

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Introduction à MATLAB R

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

TP 1. Prise en main du langage Python

BACHELOR DEVELOPPEUR WEB

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

OPTION SCIENCES BELLE-ISLE-EN-TERRE

ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES

Mon métier, mon parcours

Titre : Communiquer avec des formules mathématiques

WDpStats Procédure d installation

Prenez en main. votre avenir! BTS-DEES-MASTER

QUI VEUT JOUER AVEC MOI?

Slony1 2.1 Londiste 3

Utiliser un proxy sous linux

ELEMENTS DE BUREAUTIQUE

DOSSIER D INSCRIPTION PÉDAGOGIQUE

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

UNIVERSITE DES ANTILLES et DE LA GUYANE Campus de Fouillole BP Pointe-à-Pitre Cedex CONTRAT LE MASTER NOM DU DOMAINE STS

Bureautique Initiation Excel-Powerpoint

Inf IREM N 89 SOMMAIRE

-1 - Postes de travail graphiques

Initiation au binaire

Tutoriel : Utilisation du serveur de calcul à distance de PSE

SALOME l écosystème l offre de support

Cloud computing Votre informatique à la demande

Diffusion AFRISTAT. Quels droits accorder aux utilisateurs? - sur les données - sur les documents numériques

Outils de développement collaboratif

Outils pour les réseaux de neurones et contenu du CD-Rom

Bachelor in Business. programme post-bac en 3 ans

SUPPLEMENT AU DIPLOME

DIRAC : cadre et composants pour créer des systèmes de calcul distribués

Introduction à l algorithmique et à la programmation (Info 2)

Business Intelligence avec Excel, Power BI et Office 365

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

Introduction à l informatique en BCPST

MASTER MEEF ECONOMIE GESTION. Présentation

WINDOWS Remote Desktop & Application publishing facile!

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Mathématiques Première L, ES, S, Concours Post-Bac Equations et inéquations du second degré FORMAV

SCIENCES & TECHNOLOGIES - SANTÉ ET STAPS MASTER INFORMATIQUE. Parcours Ingénierie du Logiciel Libre (I2L)

Sites web éducatifs et ressources en mathématiques

Environnements de développement (intégrés)

L Institut National des Sciences Mathématique et de leurs. Premiers éléments d un bilan à deux ans.

Open Access By IOP Publishing. Sarah QUIN Senior Publisher

Bases de programmation. Cours 5. Structurer les données

Mercredi 15 Janvier 2014

Cookies de session ils vous permettent de sauvegarder vos préférences d utilisation et optimiser l expérience de navigation de l Utilisateur ;

Installation de Vmware serveur Windows

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Déploiement OOo en environnement Windows Terminal Server

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Systèmes de tickets avec RT

TD d économétrie appliquée : Introduction à STATA

«Clustering» et «Load balancing» avec Zope et ZEO

Transcription:

Calcul mathématique avec Sage Clément PERNET Grenoble Université Stage Liesse, 3 mai 2013

Plan 1 Présentation générale 2

Définition Sage est un logiciel libre de calcul mathématique Objectif Alternative viable, libre et de qualité à Maple, Magma, Matlab et Mathematica : Quelle confiance avoir en un résultat calculé par un code non public? Puissance et pérennité du modèle de développement contributif. Coût des licences propriétaires

& Langage Python Pour l utilisateur : Python + Maths n exige pas d apprendre un nouveau langage largement adopté pour le calcul scientifique Pour le développement : Pyhton + Cython souplesse et efficacité du développement compilation Python C des parties critiques Inter-connection de bibliothèques

Apparence Ligne de commande Interface graphique Web

Apparence Ligne de commande toutes les fonctionnalités saisie des commandes lignes à lignes ou import d un fichier de code : load "monfichier.sage" Notebook Intégré dans un navigateur mise en forme L A T E X intégration des graphiques 2D, 3D, applets interractifs partage/publication de feuilles de travail

Sage, c est... 1 Une distribution des meilleures bibliothèques et logiciels mathématiques spécialisés (plus de 80 paquetages) Arithmétique Algèbre commutative Algèbre linéaire Cryptographie Factorisation Théorie des groupes Combinatoire Théorie des graphes Théorie des nombres Calcul numérique Calcul symbolique Statistiques Interface graphique Tracé de graphiques Couche réseau Base de donnée Langage de programmation GMP, MPFR, Givaro, MPFI PolyBoRi, SINGULAR (libsingular) LinBox, M4RI, IML, fplll GnuTLS, PyCrypto FlintQS, ECM GAP Symmetrica, sage-combinat NetworkX PARI, NTL, Flint, mwrank, eclib GSL, Numpy, Scipy, ATLAS Maxima, Sympy, Pynac R Sage Notebook, jsmath, Moin wiki, IPython Matplotlib, Tachyon, libgd, JMol Twisted ZODB, SQLite, SQLAlchemy, Python pickle Python, Cython (compiled)

Sage, c est... 2 Une bibliothèque à part entière Plus d 1M de lignes de code principalement Python et Cython initialement focalisé autour de la théorie des nombres désormais couvre tout les spectre du calcul mathématique (certaines implantations ne se trouvent nulle part ailleurs). 3 Une interface avec la plupart des logiciels (libre ou non) de calcul mathématique : Magma,Maple,Mathematica, Matlab, Gap, Pari/GP,...

Développement du logiciel Un modèle de développement inspiré des publications scientifiques : Plus de 150 contributeurs, environs 30 par release Chaque nouveau morceau de code est 1 proposé par son auteur 2 lu, testé et validé par un référé 3 éventuellement intégré dans la release suivante Tests de régression automatiques et documentation (doctests Python ) Confiance dans un calcul mathématique fourni par un logiciel Standards de qualité élévés Inspection du source libre et facilitée Algorithmes probabilistes uniquement utilisés à la demande (mode proof=false)

Comment utiliser Sage Sur son ordinateur : en terminal ou en notebook installé à partir de binaires ou compilé à partir du source : http://sagemath.org Installation sur un serveur une machine l exécute connexion distante par le navigateur web autant de session que d utilisateurs Ressources en ligne : serveurs publics Notebook standard : http://sagenb.org 1 seule cellule : http://aleph.sagemath.org

Sage est un logiciel libre de calcul mathématique s appuyant sur le langage de programmation Python. Ses auteurs, une communauté internationale de centaines d enseignants et de chercheurs, se sont donné pour mission de fournir une alternative viable aux logiciels Magma, Maple, Mathematica et Matlab. Sage fait appel pour cela à de multiples logiciels libres existants, comme GAP, Maxima, PARI et diverses bibliothèques scientifiques pour Python, auxquels il ajoute des milliers de nouvelles fonctions. Il est disponible gratuitement et fonctionne sur la plupart des systèmes d exploitation usuels. Pour les lycéens, Sage est une formidable calculatrice scientifique et graphique. En premier cycle universitaire, Sage assiste efficacement l étudiant dans ses calculs en analyse, en algèbre linéaire, etc. Pour la suite du parcours universitaire et le monde de la recherche, Sage implante les algorithmes les plus récents dans diverses branches des mathématiques. De ce fait, de nombreuses universités enseignent Sage dès le premier cycle pour les travaux pratiques et les projets. Ce livre est le premier ouvrage généraliste sur Sage, toutes langues confondues. Coécrit par des enseignants et chercheurs intervenant à tous les niveaux (IUT, classes préparatoires, licence, master, doctorat), il met l accent sur les mathématiques sous-jacentes à une bonne compréhension du logiciel. En cela, il correspond plus à un cours de mathématiques effectives illustré par des exemples avec Sage qu à un mode d emploi ou un manuel de référence. La première partie est accessible aux élèves de licence. Le contenu des parties suivantes s inspire du programme de l épreuve de modélisation de l agrégation de mathématiques. Ce livre est diffusé sous licence libre Creative Commons. Il peut être téléchargé gratuitement ou imprimé à la demande à prix coûtant depuis c b a http://sagebook.gforge.inria.fr/ Ressources bibliographiques Sur le site http://sagemath.org/help.html Documentation, tutoriaux, support de cours, etc Forum de discussion (utilisateurs, développeurs,...) Le livre Calcul Mathématique avec Sage A. Casamayou N. Cohen G. Connan T. Dumont L. Fousse F. Maltey Calcul mathématique avec Sage M. Meulien M. Mezzarobba C. Pernet N. M. Thiéry P. Zimmermann Calcul mathématique avec SAGE http://sagebook.gforge.inria.fr/ license libre CC by SA (bientôt) imprimable à la demande (amazon) en exclusivité pour vous ici une version 1.1β

Plan 1 Présentation générale 2

En mode terminal pour commencer : pernet@ensipc20:~$ sage ---------------------------------------------------------------------- Sage Version 5.8, Release Date: 2013-03-15 Type "notebook()" for the browser-based notebook interface. Type "help()" for help. ---------------------------------------------------------------------- sage: 2+1/3 7/3 Sage connaît les rationnels (contrairement à python) pernet@ensipc20:~$ python Python 2.7.3 (default, Aug 1 2012, 05:14:39) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 2+1/3 2

sage: n=1234567890987654321 sage: factor(n) 3^2 * 7 * 19 * 928163 * 1111211111 sage: n.factor() 3^2 * 7 * 19 * 928163 * 1111211111

Liste des méthodes applicables sur un objet : <TAB> sage: n.<tab> Display all 101 possibilities? (y or n) n.n n.kronecker n.abs n.lcm n.additive_order n.leading_coefficient n.base_extend n.list n.base_ring n.log n.binary n.mod n.binomial n.multifactorial n.bits n.multiplicative_order n.cartesian_product n.n n.category n.nbits n.ceil n.ndigits n.conjugate n.next_prime... sage: n.fact<tab> n.factor n.factorial

Documentation et inspection de code Calqué sur les docstring Python : Documentation et exemple d utilisation sage: n.is_prime? Intégralité du code (incluant documentation et examples) sage: n.is_prime??

Le notebook C est l interface graphique : Intégrée dans un navigateur Web Feuilles de calcul Mise en forme post-script Intégration des graphiques Animations sage: notebook() The notebook files are stored in: sage_notebook.sagenb ************************************************** * * * Open your web browser to http://localhost:8080 * * * ************************************************** Executing twistd --pidfile="sage_notebook.sagenb/sagenb.pid" - 2013-04-30 11:12:11+0200 [-] Log opened. 2013-04-30 11:12:11+0200 [-] twistd 12.3.0 (/home/pernet/logici 2013-04-30 11:12:11+0200 [-] reactor class: twisted.internet.ep 2013-04-30 11:12:11+0200 [-] QuietSite starting on 8080...

Le notebook

La suite : démonstration interractive Lancez sage et le notebook sage: notebook() ouvrez la feuille PremiersPas.sws (sur ensiwiki.imag.fr)