Hi thank you for your reply! Yes this is for GSoC. There are general steps for calculating the Galois Group (I am using "Galois Theory" by Ian Stewart as my reference), involving the tower law and working out the the Q-automorphisms of K (K being the splitting field for the given polynomial). I am not too sure about that precise algorithms.
For the tower law, I am not too sure if field extensions and its degree are implemented in SymPy? I am aware there is a algebraic field class in the polys module, that gives you Q(α) from Q. But is it worth implementing field extension Q(α)(β):Q(α) for example. Also I might need a bit of help with understanding the code (what is dtype?). And for example: > def from_QQ_gmpy(K1, a, K0): """Convert a GMPY ``mpq`` object to ``dtype``. """ return K1(K1.dom.convert(a, K0)) I don't quite understand this - it seems to do with rational fields. In GAP you mentioned, fields are generated as follows 58.1-3 Field > ‣ Field( z, ... ) ( function ) ‣ Field( [F, ]list ) ( function ) Field returns the smallest field K that contains all the elements z, ..., or the smallest field K that contains all elements in the list list. If no subfield F is given, K is constructed as a field over itself, i.e. the left acting domain of K is K. Called with a field F and a list list, Field constructs the field generated by F and the elements in list, as a vector space over F. I am wondering if you could do similar thing in SymPy? Again I might need help understanding the field class in the polys module. 58.3-1 GaloisGroup > ‣ GaloisGroup( F ) ( attribute ) The *Galois group* of a field F is the group of all field automorphisms of F that fix the subfield K =LeftActingDomain( F ) pointwise. Note that the field extension F > K need *not* be a Galois extension. gap> g:= GaloisGroup( AsField( GF(2^2), GF(2^12) ) );; gap> Size( g ); IsCyclic( g ); 6 true gap> h:= GaloisGroup( CF(60) );; gap> Size( h ); IsAbelian( h ); 16 true Then they used this for the Galois group, not sure if it can tell you the abstract structure of the whole group, or just test for properties. (and I am not sure I understand how to tell what K is in this context?) Also I am not too sure if automorphisms are implemented in SymPy? (I am aware that group isomorphism is yet to be implemented in SymPy?) The correspondence is between the subgroups of the Galois Group and the intermediate fields of K:L, so if you draw a lattice diagram the diagram looks the same. I think this might be too difficult to implement. Thank you! -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/0e925b3d-412c-4bf4-bf9e-033e8389ce40%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
