### 6.25.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.28.28).
- polynom convertit un développement de Taylor ou une liste en un polynôme (cf 6.28.27 et 6.28.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.32.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.45 et 6.52).
  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]]
- set[] convertit une liste en un ensemble.
  On tape :
  A:=convert([1,2,3],set[])
  On obtient :
  set[1,2,3]
- interval convertit une expression,liste ou un ensemble en une suite d’intervalles. On tape :
  A:=convert(sqrt(2),interval)
  On obtient :
  [1.41421356237308..1.41421356237311] On tape :
  A:=convert(sqrt(2)*sin(2)+sqrt(2)*cos(2),interval,20)
  On obtient :
  [0.69742025306420769093..0.69742025306420769114] On tape :
  A:=convert([sqrt(2),2*sqrt(2)],interval)
  On obtient :
  [[1.41421356237308..1.41421356237311],[2.82842712474615..2.82842712474624]]

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).