prs.spad line 1 [edit on github]
This package contains some functions: discriminant, resultant, subResultantGcd, chainSubResultants, degreeSubResultant, lastSubResultant, resultantEuclidean, subResultantGcdEuclidean, semiSubResultantGcdEuclidean1, semiSubResultantGcdEuclidean2, etc. These procedures are coming from improvements of the subresultants algorithm.
LazardQuotient(x, y, n) computes x^n exquo y^(n-1)
LazardQuotient2(F, x, y, n) computes (x^(n-1) * F) exquo y^(n-1)
chainSubResultants(P, Q) computes the list of non zero subresultants of P and Q.
degreeSubResultant(P, Q, d) computes a subresultant of degree d.
degreeSubResultantEuclidean(P, Q, d) returns a subresultant S_i of degree d and carries out the equality coef1*P + coef2*Q = S_i.
discriminant(P) returns the discriminant of P.
discriminantEuclidean(P) carries out the equality coef1 * P + coef2 * D(P) = discriminant(P).
divide(F, G) computes quotient and rest of the exact euclidean division of F by G.
gcd(P, Q) returns the gcd of P and Q.
indiceSubResultant(P, Q, i) returns the subresultant of indice i
indiceSubResultant(P, Q, i) returns the subresultant S_i(P, Q) and carries out the equality coef1*P + coef2*Q = S_i(P, Q)
lastSubResultant(P, Q) computes the last non zero subresultant of P and Q
lastSubResultantEuclidean(P, Q) computes the last non zero subresultant S and carries out the equality coef1*P + coef2*Q = S.
next_sousResultant2(P, Q, Z, s) returns the subresultant S_e-1 where P ~ S_d, Q = S_d-1, Z = S_e, s = lc(S_d)
resultant(P, Q) returns the resultant of P and Q
resultantEuclidean(P, Q) carries out the equality coef1*P + coef2*Q = resultant(P, Q)
resultantReduit(P,Q) returns the "reduce resultant" of P and Q.
resultantReduitEuclidean(P, Q) returns the "reduce resultant" and carries out the equality coef1*P + coef2*Q = resultantReduit(P, Q).
schema(P, Q) returns the list of degrees of non zero subresultants of P and Q.
semiDegreeSubResultantEuclidean(P, Q, d) returns a subresultant S_i of degree d and carries out the equality ... P + coef2*Q = S_i. Warning: degree(P) >= degree(Q).
discriminantEuclidean(P) carries out the equality ... P + coef2 * D(P) = discriminant(P). Warning: degree(P) >= degree(Q).
semiIndiceSubResultantEuclidean(P, Q, i) returns the subresultant S_i(P, Q) and carries out the equality ... P + coef2*Q = S_i(P, Q) Warning: degree(P) >= degree(Q).
semiLastSubResultantEuclidean(P, Q) computes the last non zero subresultant S and carries out the equality ... P + coef2*Q = S. Warning: degree(P) >= degree(Q).
semiResultantEuclidean1(P, Q) carries out the equality coef1.P + ... Q = resultant(P, Q).
semiResultantEuclidean2(P, Q) carries out the equality ... P + coef2*Q = resultant(P, Q). Warning: degree(P) >= degree(Q).
semiResultantReduitEuclidean(P, Q) returns the "reduce resultant" and carries out the equality ... P + coef2*Q = resultantReduit(P, Q).
semiSubResultantGcdEuclidean1(P, Q) carries out the equality coef1*P + ... Q = +/- S_i(P, Q) where the degree (not the indice) of the subresultant S_i(P, Q) is as small as possible.
semiSubResultantGcdEuclidean2(P, Q) carries out the equality ... P + coef2*Q = +/- S_i(P, Q) where the degree (not the indice) of the subresultant S_i(P, Q) is as small as possible. Warning: degree(P) >= degree(Q).
subResultantGcd(P, Q) returns the gcd of two primitive polynomials P and Q.
subResultantGcdEuclidean(P, Q) carries out the equality coef1*P + coef2*Q = +/- S_i(P, Q) where the degree (not the indice) of the subresultant S_i(P, Q) is as small as possible.