====================================
Les centres du Skewb-Diamond sont divisés en deux camps : le camp fixe et le camp mobile
On ignore les centres fixes



Pour le Skewb-Diamond on tient le twist ainsi (on oriente le twist): Les 4 centres fixes: Haut, Postérieur, Gauche, Droite .
et les rotations de base sont : B,A,G,D
=> On a 6 sommets qui baladent partout donc 6! possibilités (à connaitre par coeur)
=> Chaque sommet a 2 orientations, donc le nombre d'orientations est 26 (à connaitre par coeur)
=> On a 4 centres mobiles qui baladent partout donc 4! possibilités .
=> Les 4 centres fixes ne servent à rien !
Donc le nombre de configurations est:
6!.26 x 4! = 1105920
Mais on a des contraintes (des lois), pour avoir le nombre d'états il faut donc diviser le nombre de configurations par les contraintes:
=> le nombre d'orientations des sommets doit être pair => /2 (car on a 2 choix)
=> les permutations des sommets doivent être paires => /2 (car on a 2 choix)
=> les permutations des centres doivent être paires => /2 (car on a 2 choix)
Finalement le nombre d'états du Skewb vaut:
|G| = 6!.26 x 4! /2.2.2 = 138240

Voici un script en GAP qui calcule le nombre d'états du Skewb-Diamond
Code : Tout sélectionner
#gap_skewb-diamond.txt
#rotations disponibles
pH := (4,2,1)(17,9,25)(13,5,21)(11,27,19)(10,26,18);
pB := (29,31,32)(8,16,24)(12,20,28)(14,22,6)(7,15,23);
pA := (11,12,9)(4,14,5)(17,29,27)(13,8,2)(3,15,7);
pP := (21,24,22)(19,28,31)(1,6,16)(25,32,20)(18,26,30);
pG := (5,8,6)(27,12,32)(2,14,24)(9,29,28)(10,30,26);
pD := (13,16,14)(11,20,29)(4,22,8)(17,31,12)(10,18,30);
pGs := (17,19,20)(13,1,22)(11,25,31)(4,21,16)(3,23,15);
pDs := (27,28,25)(2,6,21)(9,32,19)(5,24,1)(3,7,13);
#rotations etendues (violer les lois)
pS := (4,2)(17,9)(13,5)(11,27); #per sommets impair
pC := (10,26);#per centre impair
pT := (4,13)(11,17);#monotwist
#les 4 centres fixes = H,P,G,D
LAMBDAPLUS := Group( pB, pA, pG, pD, pS, pC, pT ); # rotations etendues
LAMBDA := Group( pB, pA, pG, pD ); # rotations de base
N := 2*2*2 ;; #nombre de contraints
Print( "\n" );
Print( "|LAMBDAPLUS| = ", Size( LAMBDAPLUS ) , "\n" );
Print( "|LAMBDA| = ", Size( LAMBDA ) , "\n" );
Print( "N = ",N , "\n" );
Print( "|G+| = ", Factorial(6) * (2^6) * Factorial(4) , "\n" );
Print( "|G| = |G+|/N = ", (Factorial(6) * (2^6)* Factorial(4) )/ N , "\n" );
