 |
Apprendre Maple Site dédié au logiciel de calcul formel Maple
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
romu
Inscrit le: 22 Mar 2008 Messages: 3
|
Posté le: 22 Mar 2008 17:09 Sujet du message: groupe symétrique |
|
|
Bonjour,
J'ai un peu de mal avec MAPLE manquant beaucoup de pratique.
Voilà l'exo qu'on me propose:
Citation: | Soit G le sous-groupe du groupe symétrique Sn défini par un ensemble S0={g1,...,gr} de générateurs et soit S=S0 U {g1^{-1},...,gr^{-1}} (on conserve les inverses, bien que le groupe soit fini, par souci d'efficacité algorithmique).
Partant de L=S U {1_G} et N=S, quels types de "mots" en les générateurs et leurs inverses obtient-on dans L et N après exécution de cette ligne suivante:
Code: | N:={seq(seq(multperm(g,h),g=N),h=S)} minus L; L:= L union N; |
deux fois de suite. tester avec MAPLE sur Sn, pour n=3,4, engendré par la transposition (1,2) et le n-cycle(1,2,...,n). Conclusion?
Ecrire une procédure elements1:=proc(G) donnant la liste des éléments du groupe G, par itération de la ligne de commandes précédente autant de fois que nécessaire.
A l'aide de la commande time, comparer sur des exemples les temps de calcul entre cette procédure naïve et la procédure elements de MAPLE dont l'implémentation est passée sous silence: conclusion? |
Je pense avoir compris la première partie de l'exo, les problèmes arrivent pour l'écriture de elements1:=proc(G) .
Déjà (la bibliothèque des groupes est chargée auparavant avec la commande with(group);) pour définir Sn à MAPLE on utilise la fonction:
Code: | S1:= n-> permgroup(n,{seq([[i,i+1]], i=1..n-1)}); |
Le prof nous a proposé de l'écrire ainsi:
Code: | >elements1:=proc(G) local S,L,g,h,N;
S:=op(2,G); for g in S do S:= S union {invperm(g)} od;
L:=S union {[]}; N:=S;
while (nops(N)<>0) do
N:= {seq(seq(multperm(g,h),g=N),h=S)} minus L;
L:= L union N;
od;
return(L);
end: |
Seulement mon MAPLE (version10, je ne connais pas la version de mon prof au cas où le problème viendrait de là) me renvoie lorsque je tape la commande:
Code: | >nops(elements1(S1(4))); |
MAPLE me renvoie:
sur la feuille de calcul de mon prof:
Citation: | Error, (in elements1) improper op or subscript selector |
sur ma feuille de calcul ça ne s'arrête pas.
Je ne vois pas où est l'erreur, merci pour votre aide.
PS: Est-il possible de taper en latex sur ce forum les balises [tex] [/tex] ne fonctionnent pas apparemment ? |
|
Revenir en haut de page |
|
 |
romu
Inscrit le: 22 Mar 2008 Messages: 3
|
Posté le: 22 Mar 2008 17:21 Sujet du message: |
|
|
J'ai essayé aussi pour des groupes symétriques plus petits:
Code: | >nops(elements1(S1(1))); |
me renvoie 1 (là tout va bien)
Code: | >nops(elements1(S1(2))); |
me renvoie Warning, computation interrupted (pourtant, je ne lui ai pas demandé d'arrêter)
Code: | >nops(elements1(S1(3))); |
ne s'arrête pas. |
|
Revenir en haut de page |
|
 |
romu
Inscrit le: 22 Mar 2008 Messages: 3
|
Posté le: 22 Mar 2008 17:28 Sujet du message: |
|
|
bon finalement, après avoir appuyé 50 fois sur ENTER, ça marche sur les deux feuilles, un caprice de MAPLE sûrement  |
|
Revenir en haut de page |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com
Apprendre Maple - ©
- Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.
|