︠3d0249c5-42bb-4fe4-9e65-e8dff88aafc9i︠ %html

Projet pluridisciplinaire TP1 : premiers pas avec Sage

Cellules interactives

Ceci est un TP interactif utilisant le logiciel mathématique Sage. Vous êtes sur un document mixte contenant à la fois du texte et des cellules de code Sage que vous pouvez modifier et exécuter.

︡2d6f311a-db6c-44ae-a26d-7b4687a67529︡{"html":"\n

\n Projet pluridisciplinaire TP1 : premiers pas avec Sage\n

\n\n

\n Cellules interactives\n

\n

\n Ceci est un TP interactif utilisant le logiciel mathématique Sage. Vous êtes sur un document mixte contenant à la fois du texte et des cellules de code Sage que vous pouvez modifier et exécuter.\n

\n\n\n\n\n"}︡ ︠4ea1ce3a-67d0-4de1-8c2e-1807d9991144︠ 26 + 2*7 ︡d8b62ff3-d4f3-4f03-b4f3-8ce202b3a8e2︡ ︠0d93013b-f9bb-4733-83c9-21955ee736d6︠ ︡c1c63eb6-ea75-45de-bf46-6f432cd1cef5︡ ︠9315194c-55fc-452d-aeff-ae37528b808ci︠ %html

Les cellules exécutent du code python, langage que nous allons découvrir petit à petit lors des séances. La cellule suivante utilise la commande print.

︡1440b80a-1a41-4052-a560-b6b863b7212c︡{"html":"

\n Les cellules exécutent du code python, langage que nous allons découvrir petit à petit lors des séances. La cellule suivante utilise la commande print.\n

\n\n\n\n\n\n"}︡ ︠1cfd84d8-b7c4-407b-be7d-3b78d1ad184e︠ print "hop" ︡8dea8ee4-0c0f-4f9a-b098-9011b2eb0c41︡ ︠5b686218-599e-421f-b0b9-3e0b91706f8c︠ ︡ce23d5dd-b09e-4e1f-8f54-b9abc134c046︡ ︠cb506b0e-5439-400d-a416-84695dc3015ei︠ %html

Variables python

Executez la cellule ci-dessous et observez le résultat.

︡8b9162dd-416a-4d5f-9d6b-65b8c8cf9c14︡︡{"done":true,"html":"

\n Variables python\n

\n\n

\n Executez la cellule ci-dessous et observez le résultat.\n \n

"} ︠fcdef2c3-ae51-4fbe-90ec-cc31b8437dda︠ ma_chaine = "Hop " print ma_chaine + ma_chaine ︡f3756472-8455-45d0-906c-6dd78ddfc82c︡ ︠da33c2ef-5583-43f9-9496-777a281d318ei︠ %html

Exécutez les 3 cellules suivantes puis à nouveau la deuxième cellule. Que remarquez-vous ?

︡3920d0a0-eaac-472f-8800-47ccd7ad27cb︡{"html":"

\n Exécutez les 3 cellules suivantes puis à nouveau la deuxième cellule. Que remarquez-vous ?\n \n

\n"}︡ ︠8ca92fc5-0667-4108-9a02-c1f4f40f2f07︠ a = "bla" ︡72ced43f-0856-489a-978a-c2e80c0b5c97︡︡{"done":true} ︠c1d73bcd-f5d1-4472-8a53-240ba9caf3f5︠ print a ︡9cc14b7f-c8fd-48a3-b555-bd9297962fc6︡ ︠91ebe9c2-3c08-402e-bf29-dfa0bd9c2b5e︠ a = "blo" ︡067f9a22-9bd2-4e55-b075-6db0a5507a83︡︡{"done":true} ︠38ee13b0-eebb-4d12-9d32-8246d5d3b9c8︠ ︡411a893f-557b-4316-92c8-3c21a2b2d596︡︡{"done":true} ︠08678548-4470-4b3b-85a0-e2ea9c9f33cbi︠ %html

Remarque : contrairement au C++, on ne déclare pas à priori le type des variables python. Cependant, les variables sont bien typées : le typage se fait de façon dynamique à l'exécution du programme. Exécutez les cellules suivantes pour mettre en évidence ce phénomène.

︡a7a7e0b9-1fc2-4458-b539-d97a2de29f3f︡{"html":"

\n Remarque : contrairement au C++, on ne déclare pas à priori le type des variables python. Cependant, les variables sont bien typées : le typage se fait de façon dynamique à l'exécution du programme. Exécutez les cellules suivantes pour mettre en évidence ce phénomène.\n

\n"}︡ ︠b266c325-7cf4-4c8c-b186-121c7c40c421︠ a = "bla" type(a) ︡09c9bd32-3cc0-4407-a502-5204df64869a︡ ︠d1a78b48-7fa7-4b63-82bb-04dee002b2ae︠ a = 5 type(a) ︡2fc7c30f-8d5f-43ab-b902-2111cab7b7ab︡ ︠bbb1996a-a77e-4bef-b1e5-40538de93f4e︠ a = 2.12 type(a) ︡1f158a28-3be5-4ea1-ae09-2c60e8c8e481︡ ︠93f42f0d-7488-401c-b711-6a3c59efa3ffi︠ %html

Commençons à faire des maths...

Sage est un logiciel pour les mathématiques. Vous pouvez le voir comme une "grosse" calculatrice en plus avancé... On peut donc s'en servir pour faire du calcul formel, c'est-à-dire du calcul sur des objets mathématiques.

Exécutez les cellules suivantes.

︡2928838d-0451-436b-a9f6-53ac1a95a7e8︡{"html":"

\n Commençons à faire des maths...\n

\n

\n Sage est un logiciel pour les mathématiques. Vous pouvez le voir comme une \"grosse\" calculatrice en plus avancé... On peut donc s'en servir pour faire du calcul formel, c'est-à-dire du calcul sur des objets mathématiques.\n

\n\n

\n Exécutez les cellules suivantes.\n \n

\n"}︡ ︠6b4342ed-3c74-4786-b42b-2dbde1e4e598︠ ︡8f167f2f-760f-4e0a-b411-cdc8da71774b︡ ︠30615d8d-7a73-4f26-be7f-ee1254659fe8︠ f(x) = x^2 print f ︡e2158c98-564a-43eb-918b-9f5df8829d11︡ ︠22799283-8c11-4fc8-93db-b2ada714684c︠ type(f) ︡f24c3480-2248-48eb-a264-75485207dd64︡ ︠98fc49a3-1ac9-429d-8235-0a63e5fe0bb6i︠ %html

L'objet f est une expression mathématique. Ce n'est pas une procédure de calcul mais bien un ensemble d'informations représentant un objet mathématique. En particulier, on peut effectuer diverses sortes d'opérations.

Exécutez les cellules suivantes.

︡c0e7160a-47a5-4985-a74c-44fc1255b0f8︡{"html":"

\n L'objet f est une expression mathématique. Ce n'est pas une procédure de calcul mais bien un ensemble d'informations représentant un objet mathématique. En particulier, on peut effectuer diverses sortes d'opérations.\n

\n

\n Exécutez les cellules suivantes.\n \n

\n"}︡ ︠77294e03-70fe-4a75-b38e-e8d39e87505a︠ f.derivative(x) ︡5cfb593e-592a-41a3-8048-56f64e59cd7c︡ ︠3e756431-5d98-4268-808a-5cac58bc4b45︠ f.integral(x) ︡accb23a4-e2d6-47cf-8957-761399498129︡ ︠363afcc5-47fc-4c87-823c-488a6613cc7e︠ f(2) ︡e95960bd-b7b0-43c1-9412-97cdfbacc616︡ ︠3c8c6130-7c6b-4397-84ce-1cc292e87015︠ f(2*x) ︡607e33e2-65eb-4911-9234-d8186ad21702︡ ︠91d16e8e-901c-45ee-9d9c-b50cd1e50ad8︠ ︡cfece698-a946-48a2-b377-c73c5cd662f5︡ ︠5745a8e8-c5a5-41cd-8f26-177a8e4093cf︠ 2*f ︡f551dd6d-f351-44bd-bb41-cc0bca2668f1︡ ︠f8787ee8-725e-4e8e-98bc-c3d768233f4b︠ plot(f) ︡6cf5f27d-d664-4b11-bb84-dbd1d2cd3590︡ ︠14a53933-9141-434c-962e-05f7c67b98b0︠ plot(f, (x,-4,4)) ︡891b2aeb-ebb9-40b6-9934-c1effdb2b71d︡ ︠f0373fed-95d8-4c3c-b023-a1e11e97a9cfi︠ %html

Remarque : dans ce programme, f est un objet, dans Sage la plupart des données sont représentées sont formes d'objets. Les fonctions derivative et integral sont appelées des méthodes de l'objet f. Pour connaître toutes les méthodes de l'objet f, tapez f. puis tabulation dans une cellule.

︡0c3f1306-9439-4f01-9725-89c0e533d48f︡{"html":"

\n Remarque : dans ce programme, f est un objet, dans Sage la plupart des données sont représentées sont formes d'objets. Les fonctions derivative et integral sont appelées des méthodes de l'objet f. Pour connaître toutes les méthodes de l'objet f, tapez f. puis tabulation dans une cellule. \n

\n\n"}︡ ︠2898be17-aff0-49e6-80b2-20e842861630︠ f. ︡6ccd4f50-33ad-4e18-8a2c-91d0c3ebe1ba︡ ︠83935add-250d-4700-b4f6-8248ad34b0fdi︠ %html

Pour obtenir de l'aide et des exemple sur l'utilisation d'une méthode tapez : f.methode? ou bien help(f.methode). Lisez la documentation de la méthode limite et calculez la limite de la fonction $1/x$ en 0.

︡0a278872-513d-40df-a608-b285ab8ba0f0︡{"html":"

\n Pour obtenir de l'aide et des exemple sur l'utilisation d'une méthode tapez : f.methode? ou bien help(f.methode). Lisez la documentation de la méthode limite et calculez la limite de la fonction $1/x$ en 0.\n

\n\n"}︡ ︠5622737e-b6e8-4777-96d9-f785dd04f7da︠ f.limit? ︡7cada53e-f493-4262-8d22-534405e7358a︡ ︠c80d26fd-c7f6-4add-bc9e-a926c3ead787︠ help(f.limit) ︡85e0e89d-bc79-467b-8f55-2e92d87cd967︡ ︠ccb3282f-f0bd-4cef-bb07-9e536f54a6f2i︠ %html

Remarque : dans l'exemple précédent, $x$ est aussi un objet Sage, c'est une variable symbolique au sens mathématique du terme. Ce n'est PAS la même chose qu'une variable python comme tout à l'heure pour a !

︡c8d1cf9a-d826-475e-8b59-936cb4f1dc8d︡{"html":"

\n Remarque : dans l'exemple précédent, $x$ est aussi un objet Sage, c'est une variable symbolique au sens mathématique du terme. Ce n'est PAS la même chose qu'une variable python comme tout à l'heure pour a ! \n

\n"}︡ ︠885a7136-3693-48ba-aa40-3b779c69840bi︠ %html Sage est utilisé à la fois dans le monde de l'enseignement et de la recherche pour effectuer des calculs mathématiques avancés. Vous trouverez dans le livre en ligne Calcul mathématiques avec Sage de nombreux exemples qui pourront vous aider ce semestre. ︡c3773d65-9b6f-4710-ab98-c3ced25e385a︡{"html":"Sage est utilisé à la fois dans le monde de l'enseignement et de la recherche pour effectuer des calculs mathématiques avancés. Vous trouverez dans le livre en ligne Calcul mathématiques avec Sage de nombreux exemples qui pourront vous aider ce semestre.\n"}︡ ︠e910faeb-e30a-4148-850b-708b5c6dc775i︠ %md **Définissez une fonction `g(x)` et calculez sa dérivée et son intégrale. Affichezla fonction à l'aide de *plot*.** ︡4beb2a63-5096-45bc-abca-ce696e81ac46︡︡{"done":true,"md":"**Définissez une fonction `g(x)` et calculez sa dérivée et son intégrale. Affichezla fonction à l'aide de *plot*.**"} ︠b6c3a096-11fa-4353-ab6c-6a5d31b5ac72i︠ %html

Définissez une fonction g contenant un polynôme en $x$, dessinez votre fonction avec plot. Calculez sa dérivée, et son intégrale et dessinez-les avec plot.

︡af5398c7-15ca-4faa-8863-4f9bedcb917f︡{"html":"

\n Définissez une fonction g contenant un polynôme en $x$, dessinez votre fonction avec plot. Calculez sa dérivée, et son intégrale et dessinez-les avec plot.\n

\n"}︡ ︠2900d31e-7329-4696-b259-a2ed30fea6e9︠ ︡1a02bc0d-ebb8-430f-a97b-2c13f5d1d36f︡ ︠9c3a602c-ad95-445a-8762-2ad55c0deff8︠ ︡f03f12bb-25d2-4505-bfcf-3d750c2a7987︡ ︠ab195844-56e4-4950-88e4-a6a1f16e51f7︠ ︡1ab40cd0-1c9b-46a0-af87-dd420a667ade︡ ︠9cea108e-728e-4622-b97e-03db8951bd9bi︠ %html Il est possible d'afficher plusieurs fonctions en même temps. Regardez l'exemple suivant. ︡1a75049c-41cc-4dc0-964a-7cb3c46613f9︡{"html":"Il est possible d'afficher plusieurs fonctions en même temps. Regardez l'exemple suivant.\n"}︡ ︠5200225c-7dc1-41ff-b99f-050e05a7f58a︠ plot(f) + plot(f.derivative(), color ="red") ︡eea89b01-3264-4d80-8fb1-349a0bdae3c4︡ ︠d9ca51ab-fd27-4e50-a6cc-abf071c55d20i︠ %html

Affichez ensemble votre fonction g, son intégrale et sa dérivée en utilisant des couleurs différentes.

︡c30b482c-bad8-4f83-9fac-ca25126f3303︡{"html":"

\n Affichez ensemble votre fonction g, son intégrale et sa dérivée en utilisant des couleurs différentes.\n

\n"}︡ ︠9ddb2727-0913-404e-822a-cce7b70d83ed︠ ︡23247f38-235f-43d3-af5c-f6d7b3615ba4︡ ︠c5ebb888-4834-4f89-8f66-022566b1377ci︠ %html

La cellule suivante définit une fonction h, calculez la tangente de h en 0 et affichez ensemble la fonction et sa tangente.

︡e00e6608-b74b-449f-9234-b4cf57051777︡{"html":"

\n La cellule suivante définit une fonction h, calculez la tangente de h en 0 et affichez ensemble la fonction et sa tangente.\n

\n\n"}︡ ︠d57dbc6e-4dc6-4ab9-bd9e-83ff9c5d35c2︠ h(x) = sin(x)*(x+1) + 2 plot(h,(x,-4,4)) ︡52456951-b186-46c8-a41f-feca9411bbc5︡ ︠cbdbeba8-ac03-49b7-b6ad-19db35ca2052︠ ︡2926890f-a1ab-4f6e-8088-55f8f7d323b1︡ ︠a95d8f5b-31af-42f5-9462-8eb46e5d50cf︠ ︡ff98c9b5-4747-4905-b1eb-a45186e40e89︡ ︠a727ce4b-3cd2-4c09-9263-7b7ababf4f72i︠ %html

Encore plus de plot !

En plus des fonctions, il est possible d'afficher de nombreuses formes géométriques.

Exécutez les cellules suivantes en observant attentivement la syntaxe des fonctions.

︡396f3bc2-45f9-4a2b-94b9-bbcd6f19f443︡{"html":"

\n Encore plus de plot !\n

\n

\n En plus des fonctions, il est possible d'afficher de nombreuses formes géométriques.\n

\n

\n Exécutez les cellules suivantes en observant attentivement la syntaxe des fonctions.\n

\n"}︡ ︠23779f70-9d35-4a09-bf18-4fbbf3cf8b70︠ point2d((3,4)) ︡86fc16c0-afda-4a17-9c47-888f259949f0︡ ︠8f15bbad-e1e5-4410-875e-4b9a25f961b4︠ circle((0,0),1) ︡da5486d8-fa26-40d9-a1e9-11dcb9b2885e︡ ︠8fa4e3c2-482d-40e6-a8ea-39b874aca723︠ line2d([(0,0),(1,1),(2,0)]) ︡1d4d9606-11e1-4232-9f34-c6eae16310bd︡ ︠a912484f-5737-4fca-8c04-94c4e2ae0f4e︠ polygon2d([(0,0),(1,0),(1,1),(0,1)]) ︡281f7c59-e1b7-4a1f-8787-c101a96e0442︡ ︠fe4b96b7-6de3-4d87-b99d-313eb27290d0i︠ polygon2d([(0,0),(0,1),(1,1),(1,0)]) ︡1ae55d76-239b-4cbe-9f98-9d5ee74db30d︡ ︠916f1c98-0225-413e-9e4b-a4f7eba9ad88i︠ %html Dans le premier exemple, les coordonnées du point sont données par l'objet (3,4), c'est ce qu'on appelle un tuple. Pour dessiner une ligne ou un polygone, on utilise une liste de points avec la syntaxe [p1,p2,...]. Nous verrons plus en détail ces structures dans la suite du cours.

Affichez un carré dont les coordonnées sont (-1,-1),(1,-1),(1,1),(-1,1)

︡1e6b9c9b-2a8d-4df4-b3a3-a00ba43f8641︡{"html":"Dans le premier exemple, les coordonnées du point sont données par l'objet (3,4), c'est ce qu'on appelle un tuple. Pour dessiner une ligne ou un polygone, on utilise une liste de points avec la syntaxe [p1,p2,...]. Nous verrons plus en détail ces structures dans la suite du cours.\n\n

\n Affichez un carré dont les coordonnées sont (-1,-1),(1,-1),(1,1),(-1,1)\n

\n"}︡ ︠ad9820ec-9ff0-477e-8dbd-6e87247d0d38︠ ︡17474f82-a165-4595-aae0-2f92b5596ab3︡ ︠d7d89edb-d3b7-4b32-a8ab-9217eb4735d9︠ ︡7935ba4e-defd-4f5d-818e-97ac71c9e7a0︡ ︠d8ef17a5-e478-4b3a-9441-e9605a4362c8i︠ %html

Dans la cellule suivante, on définit 3 points.

︡06b8fbb0-03fe-49a9-b22c-024f96a4e467︡{"html":"

\n Dans la cellule suivante, on définit 3 points.\n

\n\n\n"}︡ ︠cf7d41fe-8209-41b5-93ec-c83f27864fe7︠ p1 = (-1,1) p2 = (0,-1) p3 = (1,0) ︡7ef7976e-370e-4242-8837-f4afbbc66708︡ ︠8bf9fab3-89c1-48f6-9400-6efeb13376ce︠ ︡8c85b0b2-ffd7-4bbb-a2f0-a6f68d3c2064︡ ︠676ba4b1-9719-4446-9bd3-0e94f3a60a85i︠ %html

Calculez les coordonées d'un hexagone régulier et tracez-le. Vous pouvez utiliser les fonctions cos et sin ainsi que la constante pi.

︡ad58c476-aec7-4a0d-a459-7d73799178ce︡{"html":"

\n Calculez les coordonées d'un hexagone régulier et tracez-le. Vous pouvez utiliser les fonctions cos et sin ainsi que la constante pi.\n

\n"}︡ ︠1787fb5d-d882-4b34-9c9e-72edcfa82134︠ ︡a554b2bb-33bd-4278-8511-8e061cd5e280︡ ︠629316a7-617e-492e-87fb-880151ce9754︠ ︡dc889c2c-42e7-4257-ab9e-a6728314896e︡ ︠4a5b7600-c8b2-4193-89d5-fbb8d6b900d0i︠ %html

Tracez sur la même image un cercle rouge entourant l'hexagone.

︡02d87554-5a88-43e3-be9a-a1871f7f855b︡{"html":"

\n Tracez sur la même image un cercle rouge entourant l'hexagone.\n \n

\n"}︡ ︠9682cfcc-5bd2-45df-af35-c1d8276c6fc2︠ ︠4a0fca63-5448-4143-8390-237fc9bbe720︠ ︠8e778e7f-278c-46cb-ac0d-5e2dd111e314︠ ︠eb6965ae-778e-49ba-a174-6f1e174223b7︠