du fait que le site Youtube ne distingue pas le code des commentaires
mon message ci dessous a l'air d'un vrai foutoir, et je doute que quelqun me reponde jamais !
aussi je le reposte ici ca devrait etre plus clair.
peut etre quelqu'un pourra me dire si j'ai fait une (ou plusieurs )erreurs dans le script ?
comment dit on coset en Français, peut etre co-ensemble ?
https://www.youtube.com/watch?v=AwYCNUF4UE0&index=5&list=PLL0ATV5XYF8DTGAPKRPtYa4E8rOLcw88y
video a 5min24 sec
Hello Matthew
because me too I did mistakes when I Computed the cyclic permutations.
I made a little Scilab script to test permutations .
But The fact remains, however, that I do not find the same result as yours.
But may be there are now some errors in my Scilab script
I find that the coset <1 3>*H is equal to the coset H*<1, 3>
Scilab
ci dessous les deux fontions
- Code: Tout sélectionner
/######### the 2 Scilab functions for testing permutations
//input ThisS in this form ThisS=['A', 'B', 'C', 'D'] ;
//or in this form ThisS=['ABCD'] ;
// ; (must be natural number)
//Times=1;
//[S SS]= PermuteThis(ThisS,LikeThat,Times)
function [S,SS] = PermuteThis(ThisS,LikeThat,Times)
tt=type(ThisS) ;
// test if This is Matrix of Letter
if tt==10 then
// convert This in number
This=ascii(ThisS) ;
This=This-64 ;
end
S=[This ] ;
LThis=length(S) ;
LikeThat=[LikeThat] ;
L=length(LikeThat) ;
for j = 1 : Times
for i = 1 : L-1
S(LikeThat(i+1))=This(LikeThat(i));
// disp('copy number: ' + string(i) +' = '+ string(This(LikeThat(i))) ..
// + ' Goes to ' + string(This(LikeThat(i+1))) );
end
// replace first element of LikeThat
// with the last element of the sequence LikeThat
S(LikeThat(1))=This(LikeThat(L)) ;
//disp('copy number: ' + string(L) +' = '+ string(This(LikeThat(L))) ..
// + ' Goes to ' + string(This(LikeThat(1))) );
end
if tt==10 then
// convert S in letter
// convert S in letter
ttt=S+64 ;
SS=ascii(ttt);
end
endfunction
// execute all permutation (one per row) contained in LikeThat List)
// example : if you want to apply < <1 2 3 >, <3 4 > >
// on a Sequence of 4 letters ABCD which means
// first < 1 2 3 > and then < 3 4 >
// you must input
//ThisS=['ABCD'] ; LikeThat=list( [ 1 2 3 ],[ 3 4 ]) ; Times=1
// [S,SS] = SequencePermuteThis(ThisS,SeqLikeThat,Times)
function [SL,SSL] = ListPermuteThis(ThisS,ListLikeThat,Times)
SizeListLikeThat=size(ListLikeThat) ;
TSSL=ThisS;
for j = 1 : Times // repeat it Times Value
for i = 1 : SizeListLikeThat(1)
[SL,SSL]=PermuteThis(TSSL,ListLikeThat(i),1);
TSSL= SSL ;
end
end
endfunction
partie test du code
- Code: Tout sélectionner
/############### Below the test script
//ThisS=['A', 'B', 'C', 'D'] ;
ThisS=['ABCD'] ;
LikeThat=[ 1 2 3 ] ;
Times=1;
SS=[' '];
TSS=ThisS ;
Classe=0 ;
AllThisS=ThisS ;
while SS ~= ThisS
[S SS]= PermuteThis(TSS,LikeThat,Times);
disp('SS=' + SS);
TSS=SS ;
Classe=Classe+1 ;
AllThisS=[AllThisS ; SS] ;
end
ListLikeThat=list( [ 1 2 ],[ 3 4 ]) ;
[S,SS] = ListPermuteThis(ThisS,ListLikeThat,Times) ;
disp(SS);
ListLikeThat=list([1 2],[3 4],[1 3]);
[S,SS] = ListPermuteThis(ThisS,ListLikeThat,Times) ;
disp(SS);
ListLikeThat=list( [1 3],[3 4],[1 2]);
[S,SS] = ListPermuteThis(ThisS,ListLikeThat,Times) ;
disp(SS);
// ##################### 1 2 Left
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
ListListLikeThat(i)= lstcat( list([1 2]),ListListLikeThat(i) ) ;
disp(ListListLikeThat(i)) ;
end
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
[S,SS] = ListPermuteThis(ThisS,ListListLikeThat(i),1) ;
disp(SS ) ;
disp( string(S) ) ;
end
// ##################### 1 2 Right
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
ListListLikeThat(i)= lstcat( ListListLikeThat(i),list([1 2]) ) ;
disp(ListListLikeThat(i)) ;
end
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
[S,SS] = ListPermuteThis(ThisS,ListListLikeThat(i),1) ;
disp(SS ) ;
disp( string(S) ) ;
end
// ##################### 1 3 Left
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
ListListLikeThat(i)= lstcat( list([ 1 3 ]),ListListLikeThat(i) ) ;
disp(ListListLikeThat(i)) ;
end
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
[S,SS] = ListPermuteThis(ThisS,ListListLikeThat(i),1) ;
disp(SS ) ;
disp( string(S) ) ;
end
// ##################### 1 3 Right
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
ListListLikeThat(i)= lstcat( ListListLikeThat(i),list([1 3]) ) ;
disp(ListListLikeThat(i)) ;
end
ListListLikeThat=list(list([]), list([1 2]),list([3 4]),list([1 2],[3 4]))
for i=1 :size(ListListLikeThat)
[S,SS] = ListPermuteThis(ThisS,ListListLikeThat(i),1) ;
disp(SS ) ;
disp( string(S) ) ;
end