Internet et calcul formel



Documents pareils
Premiers pas avec Mathematica

Correction de l examen de la première session

Maple: premiers calculs et premières applications

Sites web éducatifs et ressources en mathématiques

Table des matières. I Mise à niveau 11. Préface

Complément d information concernant la fiche de concordance

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Rappels sur les suites - Algorithme

Correction du Baccalauréat S Amérique du Nord mai 2007

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

La fonction exponentielle

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

TP 1. Prise en main du langage Python

Introduction à l étude des Corps Finis

Etude de fonctions: procédure et exemple

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

NOMBRES COMPLEXES. Exercice 1 :

Fiche PanaMaths Calculs avec les fonctions sous Xcas

Représentation géométrique d un nombre complexe

Fonction inverse Fonctions homographiques

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

FONCTION EXPONENTIELLE ( ) 2 = 0.

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Correction du baccalauréat ES/L Métropole 20 juin 2014

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

I. Ensemble de définition d'une fonction

Raisonnement par récurrence Suites numériques

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

Initiation à la Programmation en Logique avec SISCtus Prolog

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Continuité et dérivabilité d une fonction

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Chapitre 6. Fonction réelle d une variable réelle

Programmation linéaire

Présentation du langage et premières fonctions

Les indices à surplus constant

Image d un intervalle par une fonction continue

Taux d évolution moyen.

Notion de fonction. Résolution graphique. Fonction affine.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Pour l épreuve d algèbre, les calculatrices sont interdites.

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Chapitre 1 : Évolution COURS

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

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

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Chapitre 2. Eléments pour comprendre un énoncé

Algorithmique et Programmation, IMA

Angles orientés et trigonométrie

Nombres premiers. Comment reconnaître un nombre premier? Mais...

STAGE IREM 0- Premiers pas en Python

L informatique en BCPST

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

F1C1/ Analyse. El Hadji Malick DIA

Le langage SQL Rappels

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Introduction à MATLAB R

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

OCL - Object Constraint Language

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Quelques tests de primalité

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Dérivation : cours. Dérivation dans R

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Limites finies en un point

Synthèse «Le Plus Grand Produit»

Chapitre 3 Les régimes de fonctionnement de quelques circuits linéaires

Python - introduction à la programmation et calcul scientifique

Aide - mémoire gnuplot 4.0

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Chapitre 1. L intérêt. 2. Concept d intérêt. 1. Mise en situation. Au terme de ce chapitre, vous serez en mesure de :

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

U102 Devoir sur les suites (TST2S)

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

DUT Techniques de commercialisation Mathématiques et statistiques appliquées

Probabilités conditionnelles Exercices corrigés

Introduction. Mathématiques Quantiques Discrètes

CCP PSI Mathématiques 1 : un corrigé

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Correction du baccalauréat S Liban juin 2007

Cryptographie et fonctions à sens unique

Représentation des Nombres

Probabilités sur un univers fini

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

MATHÉMATIQUES FINANCIÈRES I

Transcription:

Internet et calcul formel Dans son utilisation de base, un logiciel de calcul formel tente de donner une réponse mathématique à une question qu on lui pose. Cela sous-entend : è que l utilisateur pose une question mathématique recevable ; è qu il connaît la syntaxe permettant de poser cette question au logiciel ; è qu il connaît suffisamment le langage mathématique pour interpréter la réponse fournie ; è qu il connaît suffisamment le logiciel pour comprendre les réponses (réactions du logiciel) éventuellement surprenantes ou les messages d erreur que le logiciel serait amené à produire. Plaçons-nous dans un cadre d utilisation du logiciel Mathematica, à savoir celui d une utilisation pédagogique... On s intéresse ici au professeur qui voudrait intégrer un logiciel de calcul formel dans des scénarios pédagogiques, autrement qu en faisant appel aux commandes de base du logiciel... Certains résultats renvoyés par le logiciel coïncident avec l idée qu on peut se faire du résultat : 1 + 1 Expand@Ha + bl D a + ba+ b On ne comprend pas trop pourquoi on n obtient pas a + ab+ b, mais peu importe! Les élèves ne seront peut-être pas gênés et ils ne seront pas choqués (mais ils le devraient...) de ne pas voir apparaître de signe d égalité! Effectuons la démarche inverse, qui consiste à factoriser une expression : Factor@Ha + bl D Ha + bl Factor@a + a b + b D Ha + bl

intervention(v3).nb Factor@x 4D Hx - LHx + L FactorA x 4 9E 1 ÅÅÅÅÅ Hx - 6LHx + 6L 4 Premier résultat non attendu! Continuons... Factor@x D x - Et de deux... Pour mieux comprendre comment fonctionne cette commande Factor, on peut demander de l aide :? Factor Factor@polyD factors a polynomial over the integers. Factor@poly, Modulus >pd factors a polynomial modulo a prime p. Factor@poly, Extension >8a1, a,... <D factors a polynomial allowing coefficients that are rational combinations of the algebraic numbers ai. Plus?? Factor Factor@polyD factors a polynomial over the integers. Factor@poly, Modulus >pd factors a polynomial modulo a prime p. Factor@poly, Extension >8a1, a,... <D factors a polynomial allowing coefficients that are rational combinations of the algebraic numbers ai. Plus Attributes@FactorD = 8Listable, Protected< Options@FactorD = 8Extension None, GaussianIntegers False, Modulus 0, Trig False< On comprend alors mieux pourquoi on a obtenu les deux réponses précédentes... On peut alors améliorer la commande de factorisation :

intervention(v3).nb 3 terme = Input@"Entrez l'expression à factoriser"d; attribution = Solve@terme 0, xd; solutions = x ê. attribution; factorisation = Factor@terme, Extension solutionsd; If@solutions Reals, SequenceForm@"Pour tout réel ", x, ", ", terme, " = ", factorisationd, SequenceForm@ "On ne sait apparemment pas encore factoriser ", terme, "."DD Pour tout réel x, x - 4 = Hx - LHx + L Voire élaborer un petit programme qui créerait une expression d une forme donnée, proposerait à l utilisateur de la factoriser et vérifierait que la solution proposée est correcte. Essayons... nbalea := Random@Integer, 81, 10<D; generer := Hchoix = Random@Integer, 81, 3<D; Which@ choix 1, expr = Expand@Hnbalea x + nbaleal D, choix, expr = Expand@Hnbalea x nbaleal D, choix 3, expr = nbalea x nbalea D; SequenceForm@ "Donnez une expression factorisée de ", a@xd, " = ", exprdl generer Donnez une expression factorisée de ahxl = 16 x - 64 x + 64 generer Donnez une expression factorisée de ahxl = 36 x - 16

4 intervention(v3).nb generer Donnez une expression factorisée de ahxl = 81 x - 64 generer Donnez une expression factorisée de ahxl = 9 x + 18 x + 9 Mais on se heurtera à une difficulté de taille : Comment tester que la réponse proposée est effectivement une forme factorisée? Mathematica dispose d un nombre important de tests d expressions et deux d entre eux vont plus particulièrement nous intéresser : Equal (==) et SameQ (===) : è Une équation d inconnue réelle x écrite sous la forme ahxl ã bhxl renvoie True lorsque l ensemble solution de l équation ahxl = bhxl est ; è ahxl === bhxl renvoie True lorsque les deux expressions sont syntaxiquement identiques. Apprécions la nuance sur quelques exemples : Hx L Hx L True Hx L === Hx L True H xl Hx L H - xl == Hx - L H xl === Hx L False Hx L Hx + L == Hx L Hx + L True Hx + L Hx L == Hx L Hx + L True

intervention(v3).nb 5 i k jx 3 y { z i k jx + y z FactorAx 4 3 { 9 E Jx - ÅÅÅÅÅ 3 NJx + ÅÅÅÅÅ 3 N == ÅÅÅÅÅ 1 9 i k jx 3 False H3 x - LH3 x + L y { z i k jx + y z === FactorAx 4 3 { 9 E Avez-vous compris où est le problème? On aurait pu s en douter : è parce qu on sait que Mathematica donne, lorsque c est possible, une factorisation à coefficients entiers ; è parce qu on sait surtout que la factorisation d une expression n est pas unique!!! Finalement, ce qu on souhaite, c est revenir sur le principe même de la factorisation, à savoir d écrire une expression sous forme d un produit ou d une puissance... Pour cela, on dispose d une fonction très utilisée sur le site académique... forme@1d = Ha + bl ; FullForm@forme@1DD TreeForm@forme@1DD Power@Plus@a, bd, D PowerA»,E Plus@a, bd forme@d = a + a b+ b ; FullForm@forme@DD TreeForm@forme@DD Plus@Power@a, D, Times@, a, bd, Power@b, DD PlusA»,»,» E Power@a, D Times@, a, bd Power@b, D

6 intervention(v3).nb forme@3d = Ha bl Ha + bl; FullForm@forme@3DD TreeForm@forme@3DD Times@Plus@a, Times@-1, bdd, Plus@a, bdd TimesA» PlusAa,» E Times@-1, bd forme@4d = a b ; FullForm@forme@4DD TreeForm@forme@4DD,» E Plus@a, bd Plus@Power@a, D, Times@-1, Power@b, DDD PlusA»,» E Power@a, D TimesA-1,» Power@b, D E Il ne reste donc plus qu à tester si l «en-tête» de l expression proposée par l élève est celle d un produit ou d une puissance... è Si l «en-tête» de l expression élève est Times ou Power et si son développement est identique (===) à celui proposé par le logiciel, la réponse fournie est une réponse correcte ; è sinon, la réponse fournie est incorrecte et on peut mettre en place un système d aide. Petite remarque : si les deux expressions sont identiques, on peut indiquer à l élève que le travail ne consiste pas à recopier une expression... Comme tout outil, un logiciel de calcul formel recèle quelques fonctionnalités imprévues et son comportement peut parfois étonner. Plaçons-nous au niveau terminale, et utilisons «naturellement» les fonctions de référence logarithme et exponentielle... Exp@1D Exp@Log@DD

intervention(v3).nb 7 Exp@ 3D 1 ÅÅÅÅÅÅÅÅ 3 Log@ D 1 Log@1D 0 Log@3D logh3l Log@10, 3D logh3l ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ logh10l Log@ 1D Âp Les ennuis continuent... Le résultat peut paraître surprenant si l on ignore que certains autorisent : pour tout z œ *, log z = log r + i j où r = z et j =Arg z... è!!! è!!! è!!! 4 è!!!!!! 1  La notation utilisée (raccourci de la fonction Sqrt) è!!! x est interprétée comme une puissance par ÅÅÅÅÅ le logiciel Jx 1 N et l on retrouve le problème précédent...

8 intervention(v3).nb FullForm@Sqrt@xDD Power@x, Rational@1, DD Quel est l «en-tête» d expressions telles que lnhxl, exphxl, sinhxl,...,? Head@Log@xDD Log Head@Exp@xDD Power

intervention(v3).nb 9 Head@Sin@xDD Sin Cette fonction élémentaire Head donne une idée : pour adapter les fonctions élémentaires du logiciel à des exigences mathématiques adaptées au cursus, une technique informatique «simple» consiste... à lui apprendre à faire des mathématiques de niveau lycée! On s appuie sur les résultats suivants : la fonction ln est définie sur ]0 ; + [ ; la fonction racine carrée est définie sur [0 ; + [ ; la fonction inverse est définie sur ] ; 0[ ]0 ; + [. Et on va programmer Mathematica pour effectuer les mêmes opérations qu un élève rigoureusement formé par son enseignant, à savoir : rechercher ces différentes formes dans l expression introduite par l utilisateur ; en extraire le contenu ; poser les conditions d existence ; résoudre ces conditions ; pour ensuite obtenir l ensemble de définition de la fonction définie par l utilisateur. Le principe est le suivant : on décompose toute fonction numérique en composée de fonctions élémentaires, et, à chaque fois que l une des trois fonctions ln, inverse et racine carrée est rencontrée, on extrait l expression qui lui correspond et on définit la condition qui doit être vérifiée. Les fonctions élémentaires les plus fréquemment utilisées à ce niveau sont : Plus@a, b,...d = a + b +... Times@a, b,...d = a µ b µ... Power@a, bd = a b Rational@a, bd = a ÅÅÅ Å b Log@aD = lnhal avec a œ * et b œ * toute autre expression algébrique se déduisant de celles-ci.

10 intervention(v3).nb Tout cela peut avoir un intérêt pédagogique ; si l on n y prend pas garde, les résultats affichés par Mathematica peuvent se révéler faux (au lycée) : Solve@Log@x xd Log@3 x 4D, xd 88x Ø 1<, 8x Ø 4<< Les résultats obtenus sont bien les solutions de l équation, mais dans! Finalement, deux possibilités s offrent à l utilisateur enseignant de mathématiques en lycée : è Vérifier, comme il apprend à le faire à ses élèves, les résultats obtenus ; è programmer le logiciel pour l adapter à ses propres exigences. f@x_d := 1 1 + 1 x FullForm@f@xDD TreeForm@f@xDD Power@Plus@1, Power@x, -1DD, -1D PowerA», -1E PlusA1,» E Power@x, -1D f@x_d := Sqrt@x^ 4D FullForm@f@xDD TreeForm@f@xDD Power@Plus@-4, Power@x, DD, Rational@1, DD PowerA» PlusA-4,» E Power@x, D f@x_d := Log@Exp@xD 1D,» E Rational@1, D

intervention(v3).nb 11 FullForm@f@xDD TreeForm@f@xDD Log@Plus@-1, Power@E, xddd LogA» E PlusA-1,» E Power@, xd L utilisation d un logiciel de calcul formel tel que Mathematica pose d autres problèmes. Parce qu il s adresse à une communauté scientifique internationale, ce dernier ne prend pas en compte les spécificités de l enseignement français des mathématiques. On a déjà rencontré le problème lorsqu on a effectué des calculs logarithmiques : Log@D loghl Il en va de même pour les intervalles : la notation internationale est la même qu en France pour les intervalles fermés, mais les intervalles semi-ouverts ou ouverts sont notés respectivement : Ha; bd, @a; bl, Ha; bl (par analogie avec les notations géométriques des demi droites? ). Le traitement mathématique des inéquations pose d autres problèmes lorsqu on utilise Mathematica : << Algebra`InequalitySolve` InequalitySolve@x 1 > 0, xd x > 1 InequalitySolve@Hx 1L > 0, xd x < 1 fi x > 1 InequalitySolve@Hx 1L 0, xd True InequalitySolve@Hx 1L < 0, xd False

1 intervention(v3).nb InequalitySolve@Hx 1L 0, xd x == 1 InequalitySolve@Hx 1L Hx + L 0, xd x - fi x == 1 InequalitySolve@x 5 + x + 1 > 0, xd x > Root@#1 3 - #1 + 1&,1D Il faut donc apprendre au logiciel à traduire ces propositions logiques en termes de singletons, d intervalles, de réunions de tels ensembles... ou de réponse adaptée signalant que le logiciel ne parvient pas à résoudre l inéquation proposée. Puisque nous en sommes aux problèmes de traduction, signalons quelques difficultés, résolues ici et sur le serveur académique : Le premier est celui qui a été soulevé en début de présentation (traduction de log en ln,... ). Le second est plus délicat : Mathematica, comme tout logiciel, possède sa propre syntaxe : les fonctions élémentaires sont écrites en anglais et commencent par une majuscule, les arguments de ces fonctions sont écrits entre crochets. On peut chercher à harmoniser cette syntaxe avec : è la syntaxe mathématique française ; è la syntaxe mathématique traditionnelle ; è la syntaxe des tableurs les plus fréquemment utilisés. C est ce qui a été réalisé sur le serveur euler dans les derniers scénarios mis en ligne. Mais l utilisateur, même averti, peut encore se laisser surprendre : sur le serveur, demandez, par exemple, de déterminer une primitive (ou la dérivée) de la fonction f : x # xhx + 1L écrite sous cette forme et essayez d analyser la réponse du logiciel... Le calcul d une dérivée ne pose pas de problème, encore faut-il choisir la forme affichée la plus adaptée : doit-elle être simplifiée, développée, factorisée, ou laissée telle quelle? L étude du signe de la dérivée s effectuera sur l ensemble de définition préalablement obtenu par le programme. Sinon, on obtiendrait des résultats comme celui-ci :

intervention(v3).nb 13 f@x_d := Log@x Hx 1LD InequalitySolve@f'@xD 0, xd 0 < x 1 ÅÅÅÅÅ Î x > 1 Suffit-il de résoudre le système d équations et d inéquations : x œ E f HxL 0 intervalles sur lesquels la fonction est croissante? La réponse est non... pour connaître les f@x_d := Log@xD3 x InequalitySolve@f'@xD 0, xd InequalitySolve::npi : A nonpolynomial equation or x == 1 Í x 3ê inequality encountered. The solution set may be incorrect. Dans certains cas, des résultats non attendus à ce niveau peuvent apparaître : f@x_d := Exp@ xd Hx + 1L Exp@xD f'@xd - x Hx + 1L - x + x Simplify@f'@xDD x H-x + x - L InequalitySolve@f'@xD 0, xd InequalitySolve::npi : A nonpolynomial equation or inequality encountered. The solution set may be incorrect. - - ProductLogA- ÅÅÅÅÅÅÅÅ E x - - ProductLogA-1, - ÅÅÅÅÅÅÅÅ E ProductLog[y] donne la solution principale de l équation d inconnue x : y = x e x. Il y a un autre problème : dans certains cas, les variations d une fonction numérique ne peuvent être obtenues que par l étude du signe d une fonction auxiliaire, et il faudra l indiquer.

14 intervention(v3).nb f@x_d := x 3 ê 3 3 x 9 Exp@ x ê 3D f'@xd x + 3 -xê3-3

intervention(v3).nb 15 InequalitySolve@f'@xD 0, xd InequalitySolve::npi : A nonpolynomial equation or inequality encountered. The solution set may be incorrect. InequalitySolve::nineq : x + 3 -xê3-3 0 is not a formula constructed with univariate polynomial equations and inequalities in x. InequalitySolveHx + 3 -xê3-3 0, xl Notons respectivement P, P n, N, N n les ensembles solutions des systèmes suivants : P : : x œ E x œ E lo f P n : m f HxL 0 HxL > 0 o n f HxL 0 N : : x œ E x œ E lo f N n : m f HxL 0 HxL < 0 o n f HxL 0 è Si P =«et N n =, f est strictement décroissante sur. è Si P n = et N =«, f est strictement croissante sur. è Si P n et N n =«, f est strictement croissante sur chacun des intervalles inclus dans E sur lesquels f HxL 0 (et il faut supprimer les singletons solutions éventuelles de cette inéquation). è Si P n =«et N n, f est strictement décroissante sur chacun des intervalles inclus dans E sur lesquels f HxL 0 (et il faut supprimer les singletons solutions éventuelles de cette inéquation). è Si P n, N n et les deux inéquations peuvent être résolues algébriquement, f est strictement croissante sur chacun des intervalles inclus dans E sur lesquels f HxL 0 (et il faut supprimer les singletons solutions éventuelles de cette inéquation) et f est strictement décroissante sur chacun des intervalles inclus dans E sur lesquels f HxL 0 (en supprimant les singletons solutions éventuelles de cette inéquation). è Si les deux inéquations ne peuvent être résolues algébriquement, un texte doit indiquer qu on

16 intervention(v3).nb peut étudier le signe d une fonction auxiliaire. Les extrema de f sont les solutions sur E du système : f HxL = 0 f HxL 0.