primelt.spad line 1 [edit on github]
PrimitiveElement provides functions to compute primitive elements in algebraic extensions.
primitiveElement([p1, ..., pn], [a1, ..., an]) returns [[c1, ..., cn], [q1, ..., qn], q] such that then k(a1, ..., an) = k(a), where a = a1 c1 + ... + an cn, , and ai = qi(a)q(a) = 0. The pi's are the defining polynomials for the ai's. This operation uses the technique of Groebner basis.
primitiveElement([p1, ..., pn], [a1, ..., an], a) returns [[c1, ..., cn], [q1, ..., qn], q] such that then k(a1, ..., an) = k(a), where a = a1 c1 + ... + an cn, , and ai = qi(a)q(a) = 0. The pi's are the defining polynomials for the ai's. This operation uses the technique of Groebner basis.
primitiveElement(p1, a1, p2, a2) returns [c1, c2, q] such that k(a1, a2) = k(a) where a = c1 a1 + c2 a2, and q(a) = 0. The pi's are the defining polynomials for the ai's. The p2 may involve a1, but p1 must not involve a2. This operation uses resultant.