PrimitiveElement FΒΆ

primelt.spad line 1 [edit on github]

PrimitiveElement provides functions to compute primitive elements in algebraic extensions.

primitiveElement: (List Polynomial F, List Symbol) -> Record(coef: List Integer, poly: List SparseUnivariatePolynomial F, prim: SparseUnivariatePolynomial F)

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, ai = qi(a), and q(a) = 0. The pi's are the defining polynomials for the ai's. This operation uses the technique of spadglossSee{groebner bases}{Groebner basis}.

primitiveElement: (List Polynomial F, List Symbol, Symbol) -> Record(coef: List Integer, poly: List SparseUnivariatePolynomial F, prim: SparseUnivariatePolynomial F)

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, ai = qi(a), and q(a) = 0. The pi's are the defining polynomials for the ai's. This operation uses the technique of spadglossSee{groebner bases}{Groebner basis}.

primitiveElement: (Polynomial F, Symbol, Polynomial F, Symbol) -> Record(coef1: Integer, coef2: Integer, prim: SparseUnivariatePolynomial F)

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.