Calcul exact et résolution d' équations

Mathematica peut donnner des résultats exacts. Pour obtenir un tel résultat, aucune des données numériques qui figurent dans le calcul ne doit comporter de séparateur décimal (point). Exemple :

1/3+1/7

1./3+1/7

3^2.5

3^(5/2)

Résolution d' équation

Pour résoudre une équation polynomiale, on utilise la commande Solve

?Solve

Solve[x^2+a*x+1==0,x]

La syntaxe de la commande peut s'obtenir en faisant précéder son nom d'un point d'interrogation. A partir de l'information obtenue, vous pouvez accéder à une page d'exemples exécutables.
La ou les solutions sont obtenues sont la forme de règles de substitution x->sol. S'il y a plusieurs solutions, elles sont données dans une liste.

Solve[a* x^2+b*x+c==0,x]

Attention, l'égalité dans Mathematica se donne à l'aide de 2 signes égal. Une équation donnée dans Solve comportera donc toujours  == (2 signes égal)

2==2

Dans l' exemple ci - dessus, la solution consiste en une liste qui comporte deux sous-listes. On peut extraire la solution qui nous intéresse de la manière suivante
1° on affecte la liste des solutions à une variable

sol=Solve[a* x^2+b*x+c==0,x];

sol

2 ° on extrait de liste obtenue la partie qui nous intéresse en utilisant la syntaxe suivante

sol[[1]]

sol[[2]]

sol[[1,1]]

sol[[1,1,2]]

Si on souhaite résoudre l'équation sin(x) = x qui n'est pas une équation polynomiale, il faut utiliser une autre commande qui est FindRoot

?FindRoot

FindRoot[Cos[x]==x,{x,1}]

Cette commande ne fournit pas une valeur exacte. Comme il peut y avoir plusieurs solutions, il faut indiquer une valeur proche de celle qu'on souhaite obtnenir. Comment obtenir cette valeur proche ?

Plot[{Cos[x],x},{x,-Pi,Pi}]