next up previous contents
Next: Le menu 130. Up: Interface utilisateur. Previous: Interface utilisateur.

Représentation interne des données.

  La librairie et les modules manipulent:
  1. des entiers,
  2. des réels et complexes,
  3. des noms de variables (ou noms globaux).
  4. des listes,
  5. des polynômes,
  6. des expressions symboliques,
  7. des matrices,

Ces données sont représentées de deux façons différentes: la représentation utilisateur, qui est la plus intuitive et la représentation interne moins intuitive mais plus rapide et qui occupe moins de place mémoire. Le passage explicite de l'une à l'autre se fait par l'instruction L2S qui sera expliquée un peu plus loin. (Le calculateur détermine le type de représentation utilisée en fonction de l'état du flag 17). Passons maintenant en revue l'ensemble des types:

  1. les entiers: dans les deux modes, ce sont des real (user-type 0), par exemple l'entier 5 est représenté par 5,gif
  2. les réel et complexes: dans les deux modes, ce sont des real ou cmp (user-type 0 et 1), par exemple le réel numérique tex2html_wrap_inline1369 est représenté par 1,414235...,
  3. les fractions: dans les deux modes, il s'agit d'une expression symbolique (user-type 9), par exemple '3/4'.
  4. les irrationnels quadratiques (irrquad): il s'agit de nombres de la forme tex2html_wrap_inline1353 . En mode utilisateur, on les représente par une expression symbolique, par exemple '1+2* tex2html_wrap_inline1373 5'. En mode interne, j'utilise le type user des programmes, l'exemple ci-dessus sera alors: << 1 2 5 >>. Les trois composantes a, b et c de l'irrquad peuvent être des scalaires quelconques (i.e. des réels, complexes, entiers, fractions, polynômes ou des irrquads).
  5. polynôme: en mode utilisateur, il s'agit d'une expression algébrique (user-type 6,7 ou 9) polynomiale par rapport à une ou plusieurs variables, en mode interne, il s'agit d'une liste des coefficients par ordre de degré décroissant (user-type 5). Pour les polynômes à plusieurs variables, on obtient des listes de listes.

    Par exemple, le polynôme x5-3x2+ax-b+7 est représenté par l'algébrique 'X^5-3*X^2+A*X-B+7' ou, par rapport à la liste de variables { X B A }, par la liste de listes:
    { 1 0 0 -3 { { 1 0 } } { -1 7 } }

  6. les vecteurs et matrices: ce sont des tableaux (vecteurs et matrices numériques) ou des list (user-type 5) (vecteurs et matrices symboliques) en mode interne et en utilisateur. Les coefficients d'un vecteur ou d'une matrice numérique sont des réels ou des complexes, ceux d'un vecteur ou d'une matrice symbolique sont des scalaires (réels, complexe, entiers, irrationnels quadratiques, polynômes, fractions rationnelles, irrquads).
       array           list
    [[ 1  0 3 ]      { { 1  0 3 }
     [ 2 -1 4 ]        { 2 -1 4 }
     [ 5  1 0 ]]       { 5  1 0 } }
    Remarquez que les calculs sur les tableaux sont plus rapides (surtout les multiplications), mais ils n'acceptent pas de paramètres.

  rem124


next up previous contents
Next: Le menu 130. Up: Interface utilisateur. Previous: Interface utilisateur.