# Des changements de paradigme dans le developpement de logiciels

Douglas Navarro Guevara

## Résumé

Intéressés par les implications du développement d'outils informatiques, pour la réalisation des logiciels qui servent à résoudre des problèmes mathématiques, on veut faire le point sur l'important écart qui peut se présenter entre des approches différentes de résolution d'un certain problème quand on cherche une solution algorithmique et discrète. On propose donc deux exemples, d'abord, un exemple très léger mais très illustratif sur le traçage d'un cercle, puis on considère le problème de la représentation des fonctions transcendantes dans le contexte du développement d'un logiciel pour la réalisation des calculs symboliques, représentation qui sert, bien entendu, à la réalisation automatique du traitement des propriétés mathématiques telles que la dérivation ou la détermination de la parité de la fonction.

**Mots-clés:** logiciels, problèmes mathématiques, études de cas, écart des solutions algorithmiques et discrètes

## Abstract

Interested in the implications of the development of computer tools for achieving the software used to solve mathematical problems, we want to point out the important gap that may arise between various approaches for solving any problem when an algorithms and discrète solution is looked for. We therefore propose two examples, first, a very light but very illustrative example of tracing a circle, then we consider the problem of the representation of transcendental functions in the context of software development for the realization of symbolic calculations: this representation is used, of course, to achieve automatic processing of mathematical properties such that dérivation or determination of the parity of functions.

**Keywords:** software, mathematical problems, case studies, gap of discrète and algorithmic solutions
Intéressé par les implications du développement d'outils informatiques pour la réalisation de logiciels qui servent à résoudre des problèmes mathématiques, je faisici le point surl'importantécart qui peut se présenter entre différentes approches de résolution d'un certain problème quand on cherche une solution algorithmique et discrète. Je propose doncicideux exemples, d'abord, un exemple simple maistrès illustratif concernant le traçage d'un cercle, ensuite, celui du problème de la représentation des fonctionstranscendantes dans le contexte du développement d'un logiciel pour la réalisation des calculssymboliques. Finalement, la conclusion portesur la nécessité de reconsidérer certaines techniques mathématiques prenant en compte la nature des ordinateurs.

# 1. Premier exemple : Traçage d'un cercle

On considère le problème de dessiner, le mieux possible, un cercle sur la maille de points qui constitue l'écran d'un ordinateur. On veutobtenir le meilleur dessin possible pour n'importe quel cercle, mais on veut aussi le faire avec le plus petit nombre de calculs possible.

<figure><img src="image_1.png" /></figure>

On considère successivement des solutions de trois matrices à coordonnées problèmes. Dorénavant, on envisagera l'écran de l'ordinateur comme une matrice à coordonnées entières et le cercle à tracer sera centré à l'origine.

## 1.1. Première solution

On produit le dessin voulu en marquant le point de coordonnées $(r\cos(t), r\sin(t))$ pour chaque valeur $t$ entre 0 et 360 degrés (un degré à la fois). Bien sûr, on prend les valeurs entières de ces coordonnées. Malheureusement, cette solution – probablement la plus naturelle pour un premier essai – est déficiente. On remarque à ce sujet :

- d'abord, que l'utilisation des fonctions $cos(t)$ et $sin(t)$ utilise une quantité considérable de temps du processeur,
- puis et plus essentiellement, que le choix de prendre des accroissements d'un degré à la fois étant complètement arbitraire, la qualité du cercle produit dépend du rapport entre le rayon du cercle et la densité de points de la matrice. Ainsi, avec un rayon suffisamment grand, on obtiendra un cercle avec des discontinuités, tandis que, dans le cas contraire, il y aura des entrées qui seront sollicitées plusieurs fois.

## 1.2. Deuxième solution

On envisage cette fois la possibilité d'aller au delà de l'utilisation des fonctions :cos(t) et sin(t). On utilise ici une interpolation bidimensionnelle du type « Spline » pour engendrer la courbe à partir de cinq points. L'Aide du logiciel MatLab fournit justement un exemple dans lequel le tracé d'un cercle estimé en utilisant cette approche. L'exemple en question est le suivant :

```matlab
circle = spline( 0:4, [0 1 0 -1 0 1 0; pi/2 0 1 0 -1 0 pi/2] );
xx = 0:.1:4;
cc = ppval(circle, xx);
plot(cc(1:.), cc(2:)), axis equal
```

La première ligne sert à définir une interpolation cubique segmentaire à partir de cinq points. Pour la commande « Spline », on précise d'abord le domaine du paramètre (entre 0 et 4), puis, on définit les valeurs en x ainsi que les valeurs en y : les coordonnées des points déterminés sont données entre crochets [x's ; y's]. L'utilisation de sept valeurs pour les vecteurs de coordonnées, plutôt que cinq, est due au choix de pentes convenables pour les extrêmes. La deuxième ligne `xx= 0 :.1 :4;` sert à définir les valeurs pour lesquelles sera effectuée l'interpolation (de 0 à 4 en accroissements de 0,1). La « continuité » de la courbe est donc obtenue en reliant les points engendrés avec des segments de droite. On obtient alors :

<figure><img src="image_2.png" /></figure>

Le résultat obtenu est remarquable, néanmoins, la solution est encore déficiente. Bien que la solution soit plus élaborée du point de vue mathématique, la qualité du tracé dépend encore du rapport entre l'accroissement de la variable et la densité des points de l'écran.
### 1.3. Troisième solution

On considère cette fois l’algorithme de Michener, connu comme « la méthode de l’analyseur différentiel numérique». Dans cet algorithme, le cercle est coupé en octants, lesquels sont traités par symétrie : i.e. chaque fois qu’on connaît un point qui doit être coloré, on colorie aussi ses homologues par symétrie sur les sept autres octants.

<figure><img src="image_3.png" /></figure>

<figure><img src="image_4.png" /><figcaption>Candidats pour le prochain point</figcaption></figure>

Le traçage du cercle commence à la fin du deuxième octant, avec le point : (0,r). Puis, on poursuit l’algorithme en traçant le cercle dans le sens des aiguilles d’une montre jusqu’au point (r, 0). Une fois un point déterminé sur le cercle, l’algorithme utilise la pente de la tangente au cercle en ce point afin de choisir convenablement le prochain point à solliciter.

Ainsi, unefoischoisi le point $P_i=(X,Y)$, les prochains points possiblessont : $S_i=(X+1,Y)$ et $T_i=(X+1,Y-1)$ dontl’algorithmesélectionnecelui pour lequel la distance au cercleestminimale. Le rapport entre les distances respectives des points en question au cerclepeutêtreétabli à partir des calculsd’accroissementsselon un critèreicinommé $C$. La valeurinitiale du critèreest $C = 3-2r$, la valeurinitiale de $Y$ est $r$, et on trace une boucle pour $X$ allant de 0 à $r$. A chaqueitération, on marque le point $(X,Y)$ et on teste le critère. Si $C < 0$ on ajoute $4X + 6$ à $C$, sinon, on décrémente $Y$ et on ajoute $4(X - Y) + 10$ à $C$.

Ainsidéfini, l’algorithmeeest optimal et indépendant du cercle, en fait :

- ladétermination du prochain point n'utiliseque des opérationsélémentaires,

- l'algorithmetravaille en prenant en compte la densité des points et le rayon du cercle. Alors, la qualité du tracé ne dépend pas des données particulières du cercle envisagé.

- Cetteapprocheproduittoujours le meilleurdessin possible, c'est-à-dire qu'il ne manqueaucun point sur le cercle et que les points ne sont pas sollicités plus d'unefois.

On remarque, dans la série de solutions ainsi présentées, que si la première solution est très naturelle et si la deuxième constitue une amélioration très technique et certainement très
efficace de la première, la supériorité de la troisième solution est liée au changement de
paradigme -au sens de Kuhn - qu'elle présente.

## 2. Deuxième exemple : représentation et traitement des fonctions

Les éléments présentés maintenant concernent l'approche mathématique qui a été développée pour le traitement des fonctionstranscendantes dans l'élaboration d'un logiciel pour faire des calculssymboliques. Pour cela, on a utilisé une représentation discrète, basées sur certains types de sériesentières, laquelle devait fournir davantage de possibilités pour la manipulation automatique des fonctions en visagées (détermination de la somme, du rayon de convergence, dérivation, intégration, décomposition en parties paire/impaire, limites vers l'infini, etc.).

### 2.1 Représentation

On a d'abord étudié les tableaux de développement en série des fonctions usuelles en cherchant à identifier ce qu'il fallait prendre en compte pour cettere représentation. On a remarqué que pour représenter la plupart des sériesentières des fonctions usuelles (sin, cos, log, arctg, arcth, etc.) il suffit d'utiliser les expressions :

$$f(x) = b_0 + b_1 x + b_2 \frac{x^2}{2!} + b_3 \frac{x^3}{3!} + b_4 \frac{x^4}{4!} + b_5 \frac{x^5}{5!} + b_6 \frac{x^6}{6!} + b_7 \frac{x^7}{7!} + \dots$$

$$f(x) = b_0 + b_1 x + b_2 x^2 + b_3 x^3 + b_4 x^4 + b_5 x^5 + b_6 x^6 + b_7 x^7 + \dots$$

$$f(x) = b_1 x + b_2 \frac{x^2}{2} + b_3 \frac{x^3}{3} + b_4 \frac{x^4}{4} + b_5 \frac{x^5}{5} + b_6 \frac{x^6}{6} + b_7 \frac{x^7}{7} + \dots$$

oùanstous le cas bi est une suite périodique.

On choisira lors d'utiliser les deux types de sériessuivants :

$$\text{Type I:} \quad \sum_{i=0}^{\infty} b_i \frac{x^i}{i!}$$

$$\text{Type II:} \quad \sum_{i=\max\{0,-k\}}^{\infty} b_i \frac{(i+k)!}{i!} x^i \quad \text{où biest une suite périodique et } k \in \mathbb{Z}$$
Ce qui permetunereprésentationdiscrète.En effet, pour définir une série de ces types
envisagés, il suffit de préciser : le type de série (Type I ou II), la suite génératrice σ de la suite bi, et
pour celles du Type II le paramètre k.

On considère deux exemples :

$$
i) S(x) = 1 + x - \frac{x^2}{2!} - \frac{x^3}{3!} + \frac{x^4}{4!} + \frac{x^5}{5!} - \frac{x^6}{6!} - \frac{x^7}{7!} + \dots
$$

est une série du Type I : $\sum_{i=0}^{\infty} b_i \frac{x^i}{i!}$, dont la suite génératrice de la suite bi est : On la
représente par :

$$
ii) S(x) = -x - \frac{x^2}{2} + \frac{x^3}{3} + \frac{x^4}{4} - \frac{x^5}{5} - \frac{x^6}{6} + \frac{x^7}{7} + \dots
$$

est une série du Type II :
$$ \sum_{i=\max\{0,1\}}^{\infty} b_i \frac{(i-1)!}{i!} x^i $$
dont la suite génératrice est définie à partir
du coefficient b0 = b4 est . On la représente par , où le premier -1 correspond à la valeur du
paramètre k. Le type de la série est défini implicitement du fait de l'inclusion du paramètre k.

2.2. Traitement

Une fois la représentationfixée, on met l'accentsur les possibilités du traitement de
cetterreprésentation.

Par exemple, pour les séries du Type I dont la période de la suite génératrice est 4,
sareprésentationestlimitée au quadruplet : (a, b, c, d), dont les fonctions : Ch, Sh, Cos, Sin
appartiennenttoutes au type mentionné ; en fait, elles correspondent respectivement à : (1,0,1,0),
(0,1,0,1), (1,0,–1,0), (0,1,0,–1).

Quand on cherche à identifier une série de Type I et de période 4, caractérisée par (a, b, c, d), on note que l'on peut écrire n'importe quelle série (a, b, c, d) comme une combinaison linéaire des quadruplets : (1,0,1,0), (0,1,0,1), (1,0,–1,0), (0,1,0,–1) ; ce qui devient un outil très efficace pour la recherche de la somme d'une série quelconque, ou de manière plus focalisée dans ce contexte, un outil pour décoder les représentations que peuvent produire les différents calculs.

Cela a motivé une recherche plus étendue, qui a permis d'établir que beaucoup d'autres
fonctions peuvent certainement être représentées et manipulées de la même manière.

Voici donc une introduction des propriétés des représentations des types de séries les plus utilisées jusqu'ici.
### 2.2.1. Séries du Type I de dimension 4

Parmi les séries du Type I, on considère l'ensemble des séries : $B4 = \{\sum_{i=0}^{\infty} b_i \frac{x^i}{i!}\}$, où bi est une suite périodique de longueur 4. On remarque d'abord que cet ensemble est un espace vectoriel isomorphe à R4.

Identification de la somme :

Les ensembles suivants :

$$B=\left\{\sum_{i=0}^{\infty} \frac{x^{4i}}{(4i)!}, \sum_{i=0}^{\infty} \frac{x^{4i+1}}{(4i+1)!}, \sum_{i=0}^{\infty} \frac{x^{4i+2}}{(4i+2)!}, \sum_{i=0}^{\infty} \frac{x^{4i+3}}{(4i+3)!}\right\}$$

et

$A=\{\text{ch}(x), \text{sh}(x), \cos(x), \sin(x)\}$ (les séries correspondantes)

sont tous deux des bases de l'espace vectoriel $B4$. Ilserontappelésrespectivement: « base canonique » et « base usuelle ». En fait, si on considère les « images » par l'application qui envoie les suites génératrices des séries de Type I canoniquement sur les membres de $R4$, alors les correspondant respectivement à :

$$B=\{(1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1)\}$$

et

$$A=\{(1,0,1,0),(0,1,0,1),(1,0,-1,0),(0,1,0,-1)\}$$

Donc la recherche de la somme d'un membrequelconque de $B4$ peut-êtretraitée tout simplement comme un changement de base, de la base canoniquevers la base usuelle. Dans le casgénéral de l'identification des séries du Type I et de dimension n, on obtientaussi la solution dans 100% des cas [Navarro].

### 2.2.2. Séries du Type II de dimension 4

Parmi les séries du Type II, on considère celles dont la longueur de la suite génératrice de la suite périodique bi est 4 et la valeur du paramètre k est -1. On le note : $B_{4,-1} = \{\sum_{i=1}^{\infty} b_i \frac{x^i}{i}\}$. L'ensemble considéré est donc un espace vectoriel isomorphe à $R4$. Ainsi, les ensembles suivants :

$$B=\left\{\sum_{i=1}^{\infty} \frac{x^{4i}}{4i}, \sum_{i=0}^{\infty} \frac{x^{4i+1}}{4i+1}, \sum_{i=0}^{\infty} \frac{x^{4i+2}}{4i+2}, \sum_{i=0}^{\infty} \frac{x^{4i+3}}{4i+3}\right\}$$

et

$$A=\left\{-\frac{1}{2}\ln(1-x^2), \arg th(x), \frac{1}{2}\ln(1+x^2), \arctg(x)\right\}$$
sont tous les deux bases de l'espace vectoriel $B_4, -1$. Ilssontappelés : « base canonique » et « base usuelle ». Si on prendces images canoniquessur$B_4$, elles correspondent à :

$$B=\{(1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1)\}$$

et

$$A=\{(1,0,1,0),(0,1,0,1),(1,0,-1,0),(0,1,0,-1)\}$$

Donc, la recherche de la somme d'un membrequelconque de $B_4, -1$ peutêtretraitée tout simplementcomme un changement de base, de la base canoniquevers la base usuelle, comme on l'a fait auparavant pour les séries du Type I. Dans le casgénéral de l'identification des membres des espaces de dimension n, on utilisequelquesautresopérateursafind'obtenirl'identification des séries du Type II. En fait, il a été constaté que dans tous les cas, les séries dont la suite génératrice est égale à correspondent toujours à des fonctions connues. De façon pratique (avec un logiciel), on a vérifié que, jusqu'à n = 50, on obtient la solution pour 100% des cas. Voici un exemple assez détaillé de cette démarche :

On considère la recherche de la somme de l'exemple ii) qu'on vient de présenter :

$$S(x) = -x - \frac{x^2}{2} + \frac{x^3}{3} + \frac{x^4}{4} - \frac{x^5}{5} - \frac{x^6}{6} + \frac{x^7}{7} + \dots$$

La procédure de résolution met l'accent sur la simplification de la suite génératrice de la série. Ceci correspond parfois à la modification du paramètre k, ou bien, de la variable x de la série. On ne donne pas icitoutes les précisions, on veutseulementmontrerl'évolution de la suite. Il fautremarqueredanscecas, on prend pour suite génératrice : , parcequ'on commence par $b_0$.

Pour traitercecas, on considère les opérateurssuivants :

* ChB : Opérateur de changement de base, de la base canonique vers la base $\{(1,0,1,0), (0,1,0,1), (1,0,-1,0), (0,1,0,-1)\}$.

* Ctr : Opérateur de contraction : quand les nombres non nuls n'occupent que les rangs qui sont multiples de p, il enlève les rangs non multiples de p.

* CSgA : Opérateur de changement alterné de signe de la suite.

* Spl : Opérateur de simplification versune suite minimale.

* Derv : Opérateur de dérivation terme à terme.
Ce qui donne pour la série en question :

$$
\begin{align*}
\mathrm{ChB}(S_{[-1, \overline{1,-1,-1,1}]}(x)) = S_{[-1, \overline{1,0,-1,0}]}(x) & = \mathrm{Ctr}(S_{[-1, \overline{1,0,-1,0}]}(x)) = \frac{1}{2} S_{[-1, \overline{1,-1}]}(x^2) \\
& = \frac{1}{2} \mathrm{CSgA}(S_{[-1, \overline{1,-1}]}(x^2)) = \frac{1}{2} S_{[-1, \overline{1,1}]}(-x^2) \\
& = \frac{1}{2} \mathrm{Spl}(S_{[-1, \overline{1,1}]}(-x^2)) = S_{[-1, \overline{1}]}(-x^2) \\
& = \frac{1}{2} S_{[-1, \overline{1}]}(-x^2) = -\frac{1}{2} \ln(1 + x^2) \\
-S_{[-1, \overline{0,1,0,-1}]}(x) & = -\mathrm{Derv}(S_{[-1, \overline{0,1,0,-1}]}(x)) = -S_{[0, \overline{1,0,-1,0}]}(x) \\
& = -\mathrm{Ctr}(S_{[0, \overline{1,0,-1,0}]}(x)) = -S_{[0, \overline{1,-1}]}(x^2) \\
& = -\mathrm{CSgA}(S_{[0, \overline{1,-1}]}(x^2)) = -S_{[0, \overline{1,1}]}(-x^2) \\
& = -\mathrm{Spl}(S_{[0, \overline{1,1}]}(-x^2)) = -S_{[0, \overline{1}]}(-x^2) \\
& = -S_{[0, \overline{1}]}(-x^2) = -\frac{1}{1 + x^2} \\
& = -\int \frac{1}{1 + x^2} dx = -\mathrm{arctg}(x)
\end{align*}
$$

Autre exemple de problème, illustrant le potentiel d'application de la méthode :

$$
S(x) = \sum_{i=0}^{\infty} \left[ \frac{2x^{4i+1}}{(4i+1)} + \frac{3x^{4i+2}}{(4i+2)} + \frac{4x^{4i+3}}{(4i+3)} + \frac{x^{4i+4}}{(4i+4)} \right]
$$

Cette fois on note le résultat de la recherche de la somme de cet exercice dans la notation
mathématique usuelle. Il convient de remarquer néanmoins que ce sont les résultats produits par
l'application du logiciel. En fait, le premier pas n'est qu'un changement de base vers la base déjà
utilisée dans l'exercice précédent.
$$
\begin{align*}
S(x) &= \sum_{i=0}^{\infty} \left( 2 \frac{x^{4i+1}}{(4i+1)} + 3 \frac{x^{4i+2}}{(4i+2)} + 4 \frac{x^{4i+3}}{(4i+3)} + \frac{x^{4i+4}}{(4i+4)} \right) \\
&= 2 \sum_{i=0}^{\infty} \left( \frac{x^{4i+2}}{(4i+2)} + \frac{x^{4i+4}}{(4i+4)} \right) + 3 \sum_{i=0}^{\infty} \left( \frac{x^{4i+1}}{(4i+1)} + \frac{x^{4i+3}}{(4i+3)} \right) \\
&\quad - \sum_{i=0}^{\infty} \left( -\frac{x^{4i+2}}{(4i+2)} + \frac{x^{4i+4}}{(4i+4)} \right) - \sum_{i=0}^{\infty} \left( \frac{x^{4i+1}}{(4i+1)} - \frac{x^{4i+3}}{(4i+3)} \right) \\
&= 2 \sum_{i=0}^{\infty} \left( \frac{x^{2(i+1)}}{2(i+1)} \right) + 3 \sum_{i=0}^{\infty} \left( \frac{x^{2i+1}}{2i+1} \right) - \frac{1}{2} \sum_{i=0}^{\infty} \left( \frac{(-x^2)^{i+1}}{i+1} \right) - \sum_{i=0}^{\infty} \left( (-1)^i \frac{x^{2i+1}}{(2i+1)} \right) \\
&= -\ln(1-x^2) + 3 \arg th(x) + \frac{1}{2} \ln(1+x^2) - \operatorname{arctg}(x)
\end{align*}
$$

On remarque qu'il s'agit bien d'un calcul plutôt difficile à réaliser manuellement. D'autre part, il faut dire que bien d'autres propriétés analytiques se sont montrées très accessibles à partir de cette représentation, par exemple la séparation en une partie paire et une partie impaire pour la fonction associée à une série du Type I, ou bien, le traitement des équations différentielles ordinaires d'ordre n à coefficients constants.

3. Conclusions

Ces exemples permettent d'illustrer l'influence des contraintes informatiques dans le
développement de solutions à des problèmes donnés.

Ainsi, dans le premier exemple, si on essaie de caractériser le paradigme de la troisième
solution, il faut prendre en compte le fait qu'il travaille à partir de ce qui existe, à savoir les points
dans la matrice, et qu'il ne fait qu'identifier les points qui sont sur le cercle.
C'estuneapprochecomplètementdifférente de celle des autres solutions qui
semblentpourtanttrèsnaturelles du point de vuestrictementnumérique.

D'autre part, le deuxièmeexemplemontre comment la nécessitéd'unereprésentationdiscrète des fonctionsusuelles – nécessaire pour la représentationinformatique – pour un traitementautomatique conduit à un traitementalgorithmique nouveau qui change les possibilités des calculsanalytiques. En fait, on peut par exemplecalculerdans beaucoup de cas la sommed'unesérie de façonalgorithmiqueplutôtque par tâtonnementscomme on le fait habituellement. Les calculs – dériver, intégrer, etc. –avec cettereprésentationdeviennent beaucoup plus rapidesquecess qui se font avec l'approcheusuelle par réécriture. Les possibilitéssontvraimentintéressantes.Ilreste beaucoup à étudier, non seulement du point de vueutilitaire, maisaussi pour des questions plus profondestellesqued'éventuels rapports entre la distance projetée et les propriétésanalytiques des fonctionsenvisagées.
Cela constitue, avec ces grandes différences du point de vue pragmatique, une illustration
de l'importance du paradigme avec lequel on cherche à résoudre un problème donné à l'aide des
outils à nature discrète et algorithmique. Alors, au moment de développer les logiciels pour faire
de mathématiques, il faudra dans certains cas reconsidérer ces mathématiques, même si elles ont
des solutions bien connues.

**4. Bibliographie**

Apostol, Tom, Calculus, Massachusetts, Blaisdell Publishing, 1967, volume 2.

Bazex, Pierre, La place des mathématiques dans le cours d'informatique, Colloque : Liaison Lycée Post-Bac en Mathématiques. Toulouse, 1999.

Cuppens Roger, Avec Cabri – Géomètre II, jouez... et faites de la géométrie !, Brochure APMEP n°136, Paris, 2002.

Guin, Dominique et Trouche, Luc, Calculatrices Symboliques, transformer un outil en un instrument du travail informatique : un problème didactique, Grenoble, La Pensée Sauvage Editions, 2002.

Kutzler, B, « DERIV(E)onsvers le futur des Mathématiques », in Actes de l'Université d'été, Les outils de calcul formel dans l'enseignement des mathématiques, Caen, IREM et Bordeaux, IUFM, 1994, pp 67-78.

Lygeros, Nik, Marguin, Olivier, Mizony, Michel, Réflexions méthodologiques en calcul formel, Lyon, Université Lyon I, Repères n°34, 1999.

Quéré, Maryse, et al., Systèmes experts et enseignement assisté par ordinateur, Paris, Éditions Ophrys, Collection Autoformation et Enseignement Multimédia, 1991.

Kuhn, Thomas, La tension essentielle, tradition et changement dans les sciences, Paris, Éditions Gallimard, 1990.

Navarro, Douglas, Sur l'utilisation des outils informatiques dans l'enseignement des mathématiques, Thèse en didactique des mathématiques, Toulouse, Université Toulouse III, 2006.

Richardson D. « Some undecidable Problems Involving Elementary Functions of a Real Variable ».

Schweizer, Philippe, Infographie I, Presses polytechniques Romandes, Lousanne, 1987.