next up previous contents index
Next: Petit exemple Up: Les structures de données Previous: Les conversions

Les simplifications implicites

    il y a un certain nombre de simplifications automatiques dans Maple. Par exemple:

     x and x -> x
     x  +  0 -> x
     x  -  x -> 0
     1(x)    -> x

    Les modifications implicites de Maple peuvent être génantes. Par exemple, les deux expressions a+b et b+a sont équivalentes pour MAPLE dès lors qu'on utilise l'opérateur +. La commutativité implicite des opérateurs d'addition et de multiplication impose l'utilisation de nouveaux opérateurs &+ et &* lorsque les additions ou les produits ne commutent pas. C'est pourquoi la multiplication matricielle se note &* et non *. C'est également la raison qui empêche de considérer des matrices blocs, car la multiplication des matrices utilise l'opérateur * sur les éléments des matrices, qui ne peuvent donc pas être des sous-matrices blocs. L'exemple suivant donne un résultat différent en fonction du passé de l'interface (remember table):

     > evalm([[ A , B ]] &* [[ X ], [ Y ]]);
             [ A X + B Y ]

     > evalm([[ X ], [ Y ]] &* [[ A , B ]]);
             [ A X  X B ]
             [          ]
             [ Y A  B Y ]



Stephan Tassart
Fri Feb 7 19:05:53 MET 1997