Splitting field in math software.

104 Views Asked by At

Can anyone help me to find a method for calculating the splitting field for a polynomial over a function field? I think this feature is not currently supported..

2

There are 2 best solutions below

0
On BEST ANSWER

Thank's Everyone, wrote a the function myself...

split := function(f)
f_org := f;
while true  do
    E := FunctionField(f);
    R := PolynomialRing(E);
    f := Evaluate(f_org, R.1);    

    factor := Factorization(f);

    if #factor eq Degree(f) then
        return E;
    end if;

    f := factor[#factor][1];

end while;
end function;

as_base := function(K, L)
while K ne BaseField(L) do
    L := UnderlyingField(L);
end while;

return L;
end function;



K<t> := FunctionField(GF(2));
R<x> := PolynomialRing(K);
f := x^3 - x - t;
L := as_base(K, split(f));
0
On

You can find the splitting field with the Isprime and PrimaryDecomposition function

     P<x,y,z>  := PolynomialRing(Rationals(),3); 
     I := ideal<P| x^2+y^3+y, z^3+z*(x^3+y)+1>;
     IsPrime(I);  // true
     R := quo<P|I>; x:= R.1; y := R.2; z := R.3; Q<w> := PolynomialRing(R,1); 
     f := w^3+w*(x^3+y)+1; g:= f div (w-z);  g  


     P<x,y,z,w>  := PolynomialRing(Rationals(),4);
     I := ideal<P|x^2+y^3+y, z^3+z*(x^3+y)+1,w^2 + z*w + y^9*z + 3*y^7*z + 3*y^5*z + y^3*z + y^2*z + 2*y*z^3 + 2*y + z^5 +  2*z^2>;
     IsPrime(I); // true

     R := quo<P|I>; x:= R.1; y := R.2; z := R.3; w := R.4; Q<u> := 
     PolynomialRing(R,1); 
     f := u^2 + z*u + y^9*z + 3*y^7*z + 3*y^5*z + y^3*z + y^2*z + 2*y*z^3 + 2*y + z^5 +
2*z^2; f div (u-w)         //  = u + z + w

thus $$T^3+T(x^3+y)+1 = (T-z)(T-w)(T-(u+z+w)) \\\in \Bbb{Q}[x,y,z,w]/J [T]$$ where $$J=(x^2+y^3+y , \qquad \qquad \qquad \qquad \qquad \qquad \\ \qquad \qquad z^3+z(x^3+y)+1, \qquad \qquad \qquad\\ \qquad \qquad w^2 + z w + y^9 z + 3 y^7 z + 3 y^5 z + y^3 z + y^2 z + 2 y z^3 + 2 y + z^5 + 2 z^2) $$