"Source: Text/Basics/FldRe.text";
"Line: 1760";
"Date: Thu Sep 25 14:47:46 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Basics/FldRe.text, line: 1760
// Example: H26E8 ()
print "Example: H26E8";
ei := GetEchoInput();
SetEchoInput(true);
C<i> := ComplexField(1000);
P<X> := PolynomialRing(Integers());
P_C<Z> := PolynomialRing(C);
p0 := 5*X^12 + 64*X^11 + 51*X^10 + 38*X^9 - 60*X^8 - 56*X^7 
    - 51*X^6 - 14*X^5 - X^4 + 12*X^3 + 8*X^2 + 4*X;
R := Roots (P_C!p0);
root := R[1][1];
res0 := MinimalPolynomial (root, 12, 100);
p1 := P!(p0/res0);
//
R := Roots (P_C!p1);
root := R[1][1];
res1 := MinimalPolynomial (root, 11, 100);
p2 := P!(p1/res1);
//
R := Roots (P_C!p2);
root := R[1][1];
res2 := MinimalPolynomial (root, 5, 100);
p3 := P!(p2/res2);
//
R := Roots (P_C!p3);
root := R[1][1];
res3 := MinimalPolynomial (root, 4, 100);
//
assert p0 eq res0*res1*res2*res3;
res0, res1, res2, res3;
SetEchoInput(ei);
