This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

 Documentation /  Mathematica /  Mathematica : Le livre /  Principes de Mathematica /  Évaluation d'expressions /

Table des matièresSimplification d'expressions vers leur forme standard

2.5.1 Principes de l'évaluation

L'évaluation est l'opération fondamentale que Mathematica exécute. Chaque fois que vous entrez une expression, Mathematica l'évalue, puis renvoie le résultat.

Dans Mathematica, l'évaluation se fait en appliquant une suite de définitions, que vous pouvez entrer explicitement ou qui font partie intégrante de Mathematica.

Ainsi, par exemple, Mathematica évalue l'expression 6 + 7 en utilisant une procédure interne pour l'addition des entiers. De même, Mathematica évalue l'expression algébrique x - 3x + 1 en utilisant une procédure de simplification interne. Si vous avez entré la définition x = 5, Mathematica utilisera cette définition pour que x - 3x + 1 soit égale à -9.

Les concepts d'expressions et d'évaluation sont probablement les deux concepts les plus fondamentaux dans Mathematica. La section 2.1 explique comment tous les différents types d'objets traités par Mathematica sont représentés de façon uniforme à l'aide d'expressions. Cette section décrit comment toutes les opérations exécutées par Mathematica peuvent aussi être vues de façon uniforme comme des exemples d'évaluation.

Quelques interprétations de l'évaluation.

Mathematica est un système d'évaluation infinie. Lorsque vous entrez une expression, Mathematica utilise les définitions qu'il connaît jusqu'à l'obtention d'un résultat auquel il ne peut plus appliquer de définitions.

Ceci définit x1 en fonction de x2, puis définit x2.

In[1]:= x1 = x2 + 2 ; x2 = 7

Out[1]=

Si vous demandez x1, Mathematica utilise toutes les définitions qu'il connaît pour vous donner un résultat.

In[2]:= x1

Out[2]=

Ci-dessous une définition récursive définissant la fonction factorielle en fonction d'elle-même.

In[3]:= fac[1] = 1 ; fac[n_] := n fac[n-1]

Si vous demandez fac[10], Mathematica appliquera les définitions que vous avez données jusqu'à ce que le résultat demeure inchangé.

In[4]:= fac[10]

Out[4]=

Lorsque Mathematica a utilisé toutes les définitions qu'il connaît, il renvoie l'expression qu'il a obtenue comme résultat. Parfois, le résultat peut être un objet comme un nombre. Mais habituellement le résultat est une expression dans laquelle certains objets sont représentés sous une forme symbolique.

Mathematica utilise ses définitions internes pour simplifier des sommes, mais ne connaît aucune définition pour f[3] et laisse donc l'expression sous sa forme symbolique.

In[5]:= f[3] + 4f[3] + 1

Out[5]=

Mathematica suit le principe qui consiste à appliquer des définitions jusqu'à l'obtention d'un résultat qui demeure inchangé. Cela signifie que si vous prenez le résultat final donné par Mathematica, et que vous l'introduisez comme entrée Mathematica, vous obtiendrez à nouveau le même résultat. (Il existe des cas subtils expliqués à la section 2.5.12 pour lesquels ce n'est pas le cas.)

Si vous tapez un résultat provenant de Mathematica, vous obtenez à nouveau la même expression.

In[6]:= 1 + 5 f[3]

Out[6]=

À un instant donné, Mathematica ne peut utiliser que les définitions dont il a connaissance à ce moment-à. Cependant, si vous ajoutez des définitions ultérieurement, Mathematica pourra les utiliser, et dans ce cas, les résultats renvoyés par Mathematica pourront changer.

Ci-dessous une nouvelle définition pour la fonction f.

In[7]:= f[x_] = x^2

Out[7]=

Avec la nouvelle définition, les résultats obtenus peuvent être différents.

In[8]:= 1 + 5 f[3]

Out[8]=

Parmi les exemples les plus simples d'évaluation, se trouve l'utilisation de définitions comme f[x_] = x^2, qui transforment directement une expression en une autre. Mais l'évaluation est aussi le processus qui est utilisé pour exécuter des programmes écrits en Mathematica. Ainsi, par exemple, si vous avez une procédure faite d'une suite d'expressions Mathematica, certaines représentant des assignations conditionnelles et des boucles, l'exécution de cette procédure correspond à l'évaluation de ces expressions. Parfois, le processus d'évaluation peut impliquer d'évaluer plusieurs fois une expression particulière, comme dans une boucle.

L'expression Print[zzzz] est évaluée trois fois au cours de l'évaluation de l'expression Do.

In[9]:= Do[Print[zzzz], {3}]

Table des matièresSimplification d'expressions vers leur forme standard