Produit non commutatif maple

Bonjour,
j'aimerais disposer d'un produit non commutatif pour Maple.
Il y'a le produit &* mais lorsqu'il y a plus de trois facteurs la lisibilité n'est plus très bonne et la compatibilité avec les fonctions expand/factor de maple ne sont pas très bonnes.
Avez-vous une solution ? (j'ai regardé sur google : http://forums.futura-sciences.com/mathematiques-superieur/292821-maple-produit-non-commutatif.html . Mais cette solution mais qui ne me convient pas à cause de ce problème de lisibilité)
Merci !

Réponses

  • Bonjour,

    Si tu as le choix utilise plutot SAGE qui est libre, gratuit et qui fait tout ça très bien.
  • Ok je vais m'y mettre à Sage on m'en parle souvent !
    Pour me gagner un peu de temps peux tu me donner quelques indications :

    - Comment définit-on un petit programme (par define(données) ; proc(données) etc. ? )
    - Comment se passe l'affectation ? := ; = etc. ?
    - Comment s'écrit le modulo ? (a mod p ?)
    - Comment se définit une liste ? (L=[1,2,3] ?). Comment sélectionne-t-on un élément dans une liste ? Comment modifie-t-on les éléments d'une liste ?
    - Et donc évidemment comment s'écrit le "produit non commutatif", la fonction expand, factor ?

    Merci beaucoup !
  • Globalement la syntaxe c'est du python.

    - SI tu parles de définir une fonction c'est def mafunction(x): ensuite tout se joue sur l'indentation
    - l'affectation c'est =
    - le modulo c'est % si ma mémoire est bonne
    - L=[1,2,3], L[0], L[0]+=1, etc...
    - c'est la que ca devient intéressant :) La meilleure facon (mais non la seule) de manipuler des polynomes non commutatifs c'est de définir l'algèbre libre en tes variables et de travailler avec : http://www.sagemath.org/doc/reference/sage/algebras/free_algebra.html

    Ensuite un certain nombre de simplifications sont faites automatiquement, et les autres sont disponibles via des fonctions.
  • Ok!
    Ce que je voudrais ce serait donc une algèbre libre en N variables sur Z. Est-ce que ce qui suit marchera ? :
    - déclarer que N est un entier : N=integer
    - MonModule=(ZZ,N,[seq(x_i,i=1..N)])
    ??
    Merci !
  • Salut,

    ce que tu écrit n'a pas de sens, pas pour un logiciel de calcul formel en tous cas. Il faut que la valeur de $N$ soit fixée quelque part.

    N=integer ne veut rien dire, et seq est une commande Maple :)
  • Avec maple je peux déclarer (assume) que N est un entier et qu'une liste (de variables p.ex) est de taille N. Je ne veux pas que N soit fixé...
  • Tu penses qu'il n'y a pas moyen juste d'avoir un produit non commutatif sans déclarer les variables a priori ?
Connectez-vous ou Inscrivez-vous pour répondre.