2010-03-19 18 views
0

Je cherche un algorithme qui donne deux permutations d'une séquence (par exemple [2, 3, 1, 4] et [4, 1, 3, 2]) calcule les cycles qui sont nécessaires pour convertir le premier en second (pour l'exemple, [[0, 3], [1, 2]]). Le lien de mathworld indique que la fonction ToCycle de Mathematica fait cela, mais malheureusement je n'ai aucune licence Mathematica sous la main ... Je serais ravi de recevoir un pointeur vers une implémentation de l'algorithme dans n'importe quel langage ou mathématiques FOSS. paquet.Comment calculer les cycles qui changent une permutation en une autre?

Merci!

Répondre