DecomPoly( pol )
DecomPoly(
pol, "all" )
returns an ideal decomposition of the polynomial pol. An ideal decomposition is given by two polynomials g and h, such that pol divides (gcirch). By the Galois correspondence any ideal decomposition corresponds to a block system of the Galois group. The polynomial g defines a subfield K(beta) of K(alpha) with h(alpha)=beta. The first form finds one ideal decomposition, while the second form finds all possible different ideal decompositions (i.e. all subfields).
gap> d:=DecomPoly(e.minpol);
[ ]
gap> p:=x^10-10*x^9+20*x^8+25*x^7+(-1885/8)*x^6+(109/4)*x^5
> +(3635/8)*x^4+(4535/16)*x^3+(-456615/256)*x^2+(135315/128)*x
> +(-64681/128);;
gap> d:=DecomPoly(p,"all");
[ [ x^5 - 608253837790304032960320*x^4 +
102513277599629696329909384806667776261204935040*x^3 -
549049420457453617648141380902484571131598386028760933387027\
6218920960*x^2 +
286387493717897513685666250304380673273734943195175651689786\
74636841864755780846410697052160*x -
173134960201194027097404571687818402186256514770030882717264\
9557460578764008149662018624414041261233616423188430848,
8772892716132663808*x^9 - 52775093681915390720*x^8 -
205982735485386544256*x^7 + 1328709758167472769984*x^6 -
2621982207697769174432*x^5 - 7339219574720832743376*x^4 +
9552106782081018334600*x^3 + 15478181913028444442212*x^2 -
46541684909437606849432*x + 16156582976797641690520 ] ]
gap> Degree(Value(d[1][1],d[1][2])/f);
35