Come trovare il gruppo di simmetria di un polinomio
-
04-11-2019 - |
Domanda
Supponiamo che io abbia un polinomio in variabili $ n $ di grado massimo $ m $. Definisco il suo gruppo di simmetria come il sottogruppo del gruppo di permutazione che corregge il polinomio quando agisce sulle variabili. Esempio: $ x^2+y^2+z $ ha il sottogruppo $ langle (x, y) rangle $. Dato un tale polinomio, qual è il modo migliore per trovare un tale polinomio.
Nota di utilizzo: ho bisogno di questo algoritmo per terminare in "poco tempo" per $ n $ circa 15, $ m $ circa 10. Breve, immagino, meno di 1 minuto.
Progresso parziale: se tutto ciò che faccio è testare particolari elementi di $ s_n $, questo problema è sostanzialmente intrattabile in quanto ho bisogno di circa $ (n-2)! $ Test. L'implementazione corrente esegue controlli di base come i seguenti. Nel mio esempio $ x $ non può mappare a $ z $ perché non esistono termini $ z^2 $. In questo modo possiamo eliminare frazioni molto più grandi di permutazioni. Tuttavia, poiché $ s_n $ è così grande, questo approccio è ancora troppo lento.
Nessuna soluzione corretta