Simplification

The following procedures allow one to simplify an algebraically closed field so that it is a true field.

Simplify(A) : FldAC ->
    Partial: BoolElt                    Default: false
(Procedure.) Simplify the algebraically closed field A so that the affine algebra which represents it is a true field, modifying A in place. Equivalently, simplify A so that the multivariate polynomial ideal corresponding to the defining polynomials A is maximal.

The procedure first partially simplifies A by calling MinimalPolynomial on all variables and sums of two variables of A. This will usually cause many simplifications, since this forces the corresponding minimal polynomials to be irreducible (see MinimalPolynomial). The procedure then performs all other necessary simplifications by successively computing absolute representations and factorizing the absolute polynomials which arise. This may be very expensive (in particular, if the final absolute degree is greater than 20), so is only practical for fairly small degrees.

If the parameter Partial is set to true, then only the partial simplification is performed, which is usually rather fast, and may be sufficient.

Prune(A) : FldAC ->
Prune the algebraically closed field A by removing useless variables, modifying A in place. That is, for each variable v of A such that its defining polynomial is a linear polynomial, remove v and the corresponding defining polynomial from A, and shift variables higher than v appropriately.

Note that elements of A are kept reduced to normal form with respect to the defining polynomials of A (at least according the user's perception), so for each such v having a linear relation, v cannot occur in any element of A, so the removal of v from A is possible.

V2.28, 13 July 2023