compute the resultant of two polynomials - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Factorization and Solving Equations : RegularChains : FastArithmeticTools Subpackage : RegularChains/FastArithmeticTools/ResultantBySpecializationCube

RegularChains[FastArithmeticTools][ResultantBySpecializationCube] - compute the resultant of two polynomials

Calling Sequence

ResultantBySpecializationCube(f1, f2, v, SCube, R)

Parameters

R

-

polynomial ring

f1

-

polynomial of R

f2

-

polynomial of R

v

-

variable of R

SCube

-

subresultant chain specialization cube

Description

• 

The call ResultantBySpecializationCube(f1, f2, v, SCube, R) returns the resultant of f1 and f2 w.r.t. v. It is computed by interpolating the data in SCube. See the command SubresultantChainSpecializationCube to learn how to build this data-structure.

• 

f1 and f2 must have main variable v and degreef2,vdegreef1,v must hold.

• 

R must have a prime characteristic p such that FFT-based polynomial arithmetic can be used for this computation. The higher the degrees of f1 and f2 are, the larger e must be such that 2e divides p1.  If the degree of  f1 or f2 is too large, then an error is raised.

Examples

withRegularChains:

withFastArithmeticTools:

withChainTools:

Define a ring of polynomials.

p:=962592769;vars:=x,a,b,c,d;R:=PolynomialRingvars,p

p:=962592769

vars:=x,a,b,c,d

R:=polynomial_ring

(1)

Define two polynomials of R.

f1:=x2axbmodp

f1:=x2+962592768ax+962592768b

(2)

f2:=x2cxdmodp

f2:=x2+962592768cx+962592768d

(3)

Compute images of the subresultant chain of sufficiently many points in order to interpolate. Multi-dimensional TFT is used to evaluate and interpolate since 1 is passed as fifth argument

SCube:=SubresultantChainSpecializationCubef1,f2,x,R,1

SCube:=subresultant_chain_specialization_cube

(4)

Interpolate the resultant from the SCube

r2:=ResultantBySpecializationCubef1,f2,x,SCube,R

r2:=a2b3d2+962592768a2b2d3+962592767ab3cd2+2ab2cd3+b3c2d2+962592768b2c2d3+962592768a3b3+a3b2d+2a2b3c+962592767a2b2cd+962592768a2bcd2+a2cd3+962592768ab3c2+ab2c2d+2abc2d2+962592767ac2d3+962592768bc3d2+c3d3+a3bc+962592768a3cd+962592767a2bc2+2a2c2d+abc3+962592768ac3d

(5)

Define a regular chain with r2. Note that r2 is not required to be squarefree.

rc:=Chainr2,EmptyR,R

rc:=regular_chain

(6)

Compute a regular GCD of f1 and f2 modulo rc

g2:=RegularGcdBySpecializationCubef1,f2,rc,SCube,R

g2:=962592768ab2d+ab2x+abd2+962592768ad2x+b2cd+962592768b2cx+962592768bcd2+cd2x+962592768a2b+a2x+abc+acd+962592767acx+962592768c2d+c2x,regular_chain,bx2+962592768dx2+962592768ab+ax+cd+962592768cx,regular_chain,bx2+962592768dx2+962592768ab+ax+cd+962592768cx,regular_chain

(7)

See Also

RegularChains, RegularGcd, RegularGcdBySpecializationCube, SubresultantChainSpecializationCube


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam