1
$\begingroup$

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..

$\endgroup$
  • 1
    $\begingroup$ FYI, the magma tag refers to a magma, which is a set and binary operation pair. Since your question doesn't appear to be about magmas, I've replaced the magma tag with a math-software tag. $\endgroup$ – Theo Bendit Aug 2 at 0:07
  • 1
    $\begingroup$ I doubt that such a general method exists, and henceforth I doubt that a calculator to find such splitting fields exists either. Part of the reason Galois theory exists is that splitting fields are pretty non-trivial. $\endgroup$ – Don Thousand Aug 2 at 1:07
0
$\begingroup$

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) $$

$\endgroup$
0
$\begingroup$

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));
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.