IteratedResultantDim0 - Maple Help

RegularChains[FastArithmeticTools]

 IteratedResultantDim0
 iterated resultant of a polynomial w.r.t a 0-dim regular chain

 Calling Sequence IteratedResultantDim0(f, rc, R)

Parameters

 R - a polynomial ring rc - a regular chain f - a polynomial

Description

 • The function call IteratedResultantDim0(f, rc, R) returns the iterated resultant of f w.r.t. rc. See the command IteratedResultant for a definition of the notion of an iterated resultant.
 • rc is assumed to be a zero-dimensional normalized regular chain.
 • Moreover R must have a prime characteristic $p$ such that FFT-based polynomial arithmetic can be used for this actual computation. The higher the degrees of f and rc are, the larger must be $e$ such that ${2}^{e}$ divides $p-1$.  If the degree of f or rc is too large, then an error is raised.

Examples

 > $\mathrm{with}\left(\mathrm{RegularChains}\right):$
 > $\mathrm{with}\left(\mathrm{FastArithmeticTools}\right):$
 > $\mathrm{with}\left(\mathrm{ChainTools}\right):$

Define a ring of polynomials.

 > $p≔962592769;$$\mathrm{vars}≔\left[\mathrm{x1},\mathrm{x2},\mathrm{x3},\mathrm{x4}\right]:$$R≔\mathrm{PolynomialRing}\left(\mathrm{vars},p\right):$
 ${p}{≔}{962592769}$ (1)

Randomly generating (dense) regular chain and polynomial

 > $N≔\mathrm{nops}\left(\mathrm{vars}\right):$$\mathrm{dg}≔3:$$\mathrm{degs}≔\left[\mathrm{seq}\left(4,i=1..N\right)\right]:$$\mathrm{pol}≔\mathrm{randpoly}\left(\mathrm{vars},\mathrm{dense},\mathrm{degree}=\mathrm{dg}\right)+\left(\mathrm{rand}\left(\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{mod}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}p\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{mod}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}p;$$\mathrm{tc}≔\mathrm{RandomRegularChainDim0}\left(\mathrm{vars},\mathrm{degs},p\right);$$\mathrm{Equations}\left(\mathrm{tc},R\right)$
 ${\mathrm{pol}}{≔}{962592762}{}{{\mathrm{x1}}}^{{3}}{+}{22}{}{{\mathrm{x1}}}^{{2}}{}{\mathrm{x2}}{+}{962592714}{}{{\mathrm{x1}}}^{{2}}{}{\mathrm{x3}}{+}{962592675}{}{{\mathrm{x1}}}^{{2}}{}{\mathrm{x4}}{+}{962592713}{}{\mathrm{x1}}{}{{\mathrm{x2}}}^{{2}}{+}{962592707}{}{\mathrm{x1}}{}{\mathrm{x2}}{}{\mathrm{x4}}{+}{962592696}{}{\mathrm{x1}}{}{{\mathrm{x3}}}^{{2}}{+}{962592765}{}{\mathrm{x1}}{}{\mathrm{x3}}{}{\mathrm{x4}}{+}{962592759}{}{\mathrm{x1}}{}{{\mathrm{x4}}}^{{2}}{+}{80}{}{{\mathrm{x2}}}^{{3}}{+}{962592725}{}{{\mathrm{x2}}}^{{2}}{}{\mathrm{x3}}{+}{71}{}{{\mathrm{x2}}}^{{2}}{}{\mathrm{x4}}{+}{962592694}{}{\mathrm{x2}}{}{{\mathrm{x3}}}^{{2}}{+}{962592759}{}{\mathrm{x2}}{}{\mathrm{x3}}{}{\mathrm{x4}}{+}{962592729}{}{\mathrm{x2}}{}{{\mathrm{x4}}}^{{2}}{+}{23}{}{{\mathrm{x3}}}^{{3}}{+}{75}{}{{\mathrm{x3}}}^{{2}}{}{\mathrm{x4}}{+}{6}{}{\mathrm{x3}}{}{{\mathrm{x4}}}^{{2}}{+}{37}{}{{\mathrm{x4}}}^{{3}}{+}{87}{}{{\mathrm{x1}}}^{{2}}{+}{97}{}{\mathrm{x1}}{}{\mathrm{x2}}{+}{962592686}{}{\mathrm{x1}}{}{\mathrm{x3}}{+}{62}{}{\mathrm{x1}}{}{\mathrm{x4}}{+}{962592752}{}{{\mathrm{x2}}}^{{2}}{+}{962592762}{}{\mathrm{x2}}{}{\mathrm{x3}}{+}{42}{}{\mathrm{x2}}{}{\mathrm{x4}}{+}{962592677}{}{{\mathrm{x3}}}^{{2}}{+}{74}{}{\mathrm{x3}}{}{\mathrm{x4}}{+}{962592746}{}{{\mathrm{x4}}}^{{2}}{+}{962592687}{}{\mathrm{x1}}{+}{962592719}{}{\mathrm{x2}}{+}{72}{}{\mathrm{x3}}{+}{87}{}{\mathrm{x4}}{+}{874547123}$
 ${\mathrm{tc}}{≔}{\mathrm{regular_chain}}$
 $\left[{{\mathrm{x1}}}^{{4}}{+}{962592759}{}{{\mathrm{x1}}}^{{3}}{+}\left({962592687}{}{\mathrm{x2}}{+}{71}{}{\mathrm{x3}}{+}{16}{}{\mathrm{x4}}{+}{83}\right){}{{\mathrm{x1}}}^{{2}}{+}\left({9}{}{{\mathrm{x2}}}^{{2}}{+}\left({962592709}{}{\mathrm{x3}}{+}{962592686}{}{\mathrm{x4}}{+}{98}\right){}{\mathrm{x2}}{+}{962592721}{}{{\mathrm{x3}}}^{{2}}{+}\left({962592750}{}{\mathrm{x4}}{+}{62}\right){}{\mathrm{x3}}{+}{37}{}{{\mathrm{x4}}}^{{2}}{+}{5}{}{\mathrm{x4}}{+}{96}\right){}{\mathrm{x1}}{+}{962592752}{}{{\mathrm{x2}}}^{{3}}{+}\left({25}{}{\mathrm{x3}}{+}{91}{}{\mathrm{x4}}\right){}{{\mathrm{x2}}}^{{2}}{+}\left({98}{}{{\mathrm{x3}}}^{{2}}{+}\left({962592705}{}{\mathrm{x4}}{+}{64}\right){}{\mathrm{x3}}{+}{962592679}{}{{\mathrm{x4}}}^{{2}}{+}{962592709}{}{\mathrm{x4}}{+}{962592735}\right){}{\mathrm{x2}}{+}{962592756}{}{{\mathrm{x3}}}^{{3}}{+}\left({44}{}{\mathrm{x4}}{+}{962592767}\right){}{{\mathrm{x3}}}^{{2}}{+}\left({71}{}{{\mathrm{x4}}}^{{2}}{+}{962592722}{}{\mathrm{x4}}{+}{962592730}\right){}{\mathrm{x3}}{+}{962592716}{}{{\mathrm{x4}}}^{{3}}{+}{962592697}{}{{\mathrm{x4}}}^{{2}}{+}{962592672}{}{\mathrm{x4}}{+}{91831581}{,}{{\mathrm{x2}}}^{{4}}{+}{{\mathrm{x2}}}^{{3}}{+}\left({\mathrm{x3}}{+}{55}{}{\mathrm{x4}}{+}{962592741}\right){}{{\mathrm{x2}}}^{{2}}{+}\left({16}{}{{\mathrm{x3}}}^{{2}}{+}\left({30}{}{\mathrm{x4}}{+}{962592742}\right){}{\mathrm{x3}}{+}{962592754}{}{{\mathrm{x4}}}^{{2}}{+}{962592710}{}{\mathrm{x4}}{+}{962592673}\right){}{\mathrm{x2}}{+}{72}{}{{\mathrm{x3}}}^{{3}}{+}\left({962592682}{}{\mathrm{x4}}{+}{47}\right){}{{\mathrm{x3}}}^{{2}}{+}\left({962592679}{}{{\mathrm{x4}}}^{{2}}{+}{43}{}{\mathrm{x4}}{+}{92}\right){}{\mathrm{x3}}{+}{962592678}{}{{\mathrm{x4}}}^{{3}}{+}{962592681}{}{{\mathrm{x4}}}^{{2}}{+}{962592721}{}{\mathrm{x4}}{+}{614095058}{,}{{\mathrm{x3}}}^{{4}}{+}{11}{}{{\mathrm{x3}}}^{{3}}{+}\left({962592720}{}{\mathrm{x4}}{+}{962592722}\right){}{{\mathrm{x3}}}^{{2}}{+}\left({40}{}{{\mathrm{x4}}}^{{2}}{+}{962592688}{}{\mathrm{x4}}{+}{91}\right){}{\mathrm{x3}}{+}{68}{}{{\mathrm{x4}}}^{{3}}{+}{962592759}{}{{\mathrm{x4}}}^{{2}}{+}{31}{}{\mathrm{x4}}{+}{175602554}{,}{{\mathrm{x4}}}^{{4}}{+}{962592746}{}{{\mathrm{x4}}}^{{3}}{+}{10}{}{{\mathrm{x4}}}^{{2}}{+}{962592708}{}{\mathrm{x4}}{+}{685457535}\right]$ (2)

Compute the iterated resultant of pol w.r.t. tc

 > $\mathrm{r1}≔\mathrm{IteratedResultantDim0}\left(\mathrm{pol},\mathrm{tc},R\right)$
 ${\mathrm{r1}}{≔}{446889812}$ (3)

Compare with the generic algorithm (non-fast and non-modular algorithm) of the command IteratedResultant.

 > $\mathrm{r2}≔\mathrm{IteratedResultant}\left(\mathrm{pol},\mathrm{tc},R\right)$
 ${\mathrm{r2}}{≔}{446889812}$ (4)

Check that the two results match.

 > $\mathrm{Expand}\left(\mathrm{r1}-\mathrm{r2}\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{mod}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}p$
 ${0}$ (5)