### 6.24.26 Réecriture d’une expression avec différentes options : `convert convertir =>`

`=>` est la version infixée de `convert`.
`convert` a deux arguments une expression et une option.
`convert` réecrit cette expression en fonction de l’option.
Voici la liste des différentes options :

- `’+’` convertit une expression comme si on appelait directement `expand` (à noter : il ne faut pas quoter `+` avec `=>`).
- `’*’` convertit une expression comme si on appelait directement `factor`(à noter : il ne faut pas quoter `*` avec `=>`).
- `sin` convertit une expression comme si on appelait directement `trigsin`.
- `cos` convertit une expression comme si on appelait directement `trigcos`.
- `sincos` convertit une expression comme si on appelait directement `sincos`.
- `trig` convertit une expression comme si on appelait directement `sincos`.
- `tan` convertit une expression comme si on appelait directement `halftan`.
- `exp` convertit une expression comme si on appelait directement `trig2exp`.
- `ln` convertit une expression comme si on appelait directement `trig2exp`.
- `expln` convertit une expression comme si on appelait directement `trig2exp`.
- `string` convertit une expression en une chaîne comme si on appelait directement `string`.
- `list` convertit un polynôme en une liste (cf 6.27.28).
- `polynom` convertit un développement de Taylor ou une liste en un polynôme (cf 6.27.27 et 6.27.29). Avec la syntaxe simplifiée,
  `taylor(sin(x),x=0,5,polynom)` est identique à `convert(taylor(sin(x),x=0,5),polynom)` et
  `series(sin(x),x=0,5,polynom)` est identique à `convert(series(sin(x),x=0,5),polynom)`.
- `parfrac` ou `partfrac` ou `fullparfrac` ou `’+’` convertit une fraction rationnelle en éléments simples comme si on utilisait directement `partfrac`(6.31.9). À noter : il ne faut pas quoter `+` avec `=>`.
- `diff` calcule la dérivée d’une expression ou d’une fonction comme si on utilisait directement `diff`.
- `int` calcule l’intégrale d’une expression ou d’une fonction comme si on utilisait directement `int`.
- `array` convertit une table en une matrice (cf 6.44 et 6.51).
  On définit par exemple une matrice creuse par exemple :
  On tape :
  `A[0..4,0..4]:=[1,2,3,4,5];` ce qui définit `A` comme une table.
  `a:=convert(A,array)`
  On obtient :
  `[[1,0,0,0,0],[0,2,0,0,0],[0,0,3,0,0],[0,0,0,4,0],[0,0,0,0,5]]`
  On tape :
  `B[0..3,1..4]:=[1,2,3,4]` ce qui définit `B` comme une table.
  `b:=convert(B,array)`
  On obtient :
  `[[0,1,0,0,0],[0,0,2,0,0],[0,0,0,3,0],[0,0,0,0,4]]`

`convert` permet aussi :

- des changements d’unité, par exemple `convert(1000_g,_kg)=1.0_kg` (cf 5.1.3).
- d’écrire un réel selon une fraction continue : `convert(a,confrac,’fc’)` écrit `a` selon une fraction continue stockée dans `fc`. Ne pas oublier de quoter le dernier argument!!! Par exemple, `convert(1.2,confrac,’fc’)=[1,5]` et `fc` contient la fraction continue égale à 1.2 (cf 6.9.7).
- de transformer un entier en la liste de ses chiffres dans son écriture dans une base, en commencant par le chiffre des unités (et réciproquement) : `convert(n,base,b)` transforme l’entier `n` en la liste de ses chiffres dans son écriture dans la base `b` en commencant par le chiffre des unités. Par exemple, `convert(123,base,10)=[3,2,1]` et réciproquement `convert(l,base,b)` transforme la liste `l` en l’entier `n` qui a `l` pour liste de chiffres dans son écriture dans la base `b` en commencant par le chiffre des unités. Par exemple, `convert([3,2,1],base,10)=123` (cf 6.6).