 Chain - Maple Help

RegularChains[ChainTools]

 Chain
 constructs regular chains Calling Sequence Chain(lp, rc, R) Parameters

 lp - list of polynomials of R rc - regular chain of R R - polynomial ring Description

 • The command Chain(lp, rc, R) returns the regular chain obtained by extending rc with lp.
 • It is assumed that lp is a list of non-constant polynomials sorted in increasing main variable, and that any main variable of a polynomial in lp is strictly greater than any algebraic variable of rc.
 • It is also assumed that the polynomials of rc together with those of lp form a regular chain.
 • The function Chain allows the user to build a regular chain without performing any expensive check and without splitting or simplifying. On the contrary, the functions Construct and ListConstruct check their input completely. In addition, they simplify the input polynomials and they may also factorize some of them, leading to a list of regular chains (that is, a split) rather than a single one.
 • The function Chain is used by some algorithms where one tries to split the computations as little as possible. This is the case for the function EquiprojectableDecomposition.
 • This command is part of the RegularChains[ChainTools] package, so it can be used in the form Chain(..) only after executing the command with(RegularChains[ChainTools]).  However, it can always be accessed through the long form of the command by using RegularChains[ChainTools][Chain](..). Examples

 > $\mathrm{with}\left(\mathrm{RegularChains}\right):$
 > $\mathrm{with}\left(\mathrm{ChainTools}\right):$
 > $R≔\mathrm{PolynomialRing}\left(\left[t,x,y,z\right]\right)$
 ${R}{≔}{\mathrm{polynomial_ring}}$ (1)
 > $\mathrm{pz}≔{z}^{2}+2z+1$
 ${\mathrm{pz}}{≔}{{z}}^{{2}}{+}{2}{}{z}{+}{1}$ (2)
 > $\mathrm{py}≔z{y}^{2}+1$
 ${\mathrm{py}}{≔}{z}{}{{y}}^{{2}}{+}{1}$ (3)
 > $\mathrm{pt}≔t\left(x+y\right)+y+z$
 ${\mathrm{pt}}{≔}{t}{}\left({x}{+}{y}\right){+}{y}{+}{z}$ (4)
 > $\mathrm{qy}≔\mathrm{expand}\left(3z\mathrm{py}\right)$
 ${\mathrm{qy}}{≔}{3}{}{{y}}^{{2}}{}{{z}}^{{2}}{+}{3}{}{z}$ (5)
 > $\mathrm{qt}≔\mathrm{expand}\left({\left(x+y\right)}^{2}\mathrm{pt}\right)$
 ${\mathrm{qt}}{≔}{t}{}{{x}}^{{3}}{+}{3}{}{t}{}{{x}}^{{2}}{}{y}{+}{3}{}{t}{}{x}{}{{y}}^{{2}}{+}{t}{}{{y}}^{{3}}{+}{{x}}^{{2}}{}{y}{+}{{x}}^{{2}}{}{z}{+}{2}{}{x}{}{{y}}^{{2}}{+}{2}{}{x}{}{y}{}{z}{+}{{y}}^{{3}}{+}{z}{}{{y}}^{{2}}$ (6)
 > $\mathrm{rc}≔\mathrm{Empty}\left(R\right)$
 ${\mathrm{rc}}{≔}{\mathrm{regular_chain}}$ (7)
 > $\mathrm{rc1}≔\mathrm{Chain}\left(\left[\mathrm{pz},\mathrm{qy},\mathrm{qt}\right],\mathrm{rc},R\right)$
 ${\mathrm{rc1}}{≔}{\mathrm{regular_chain}}$ (8)
 > $\mathrm{Equations}\left(\mathrm{rc1},R\right)$
 $\left[\left({{x}}^{{3}}{+}{3}{}{{x}}^{{2}}{}{y}{+}{3}{}{x}{}{{y}}^{{2}}{+}{{y}}^{{3}}\right){}{t}{+}\left({y}{+}{z}\right){}{{x}}^{{2}}{+}\left({2}{}{{y}}^{{2}}{+}{2}{}{z}{}{y}\right){}{x}{+}{{y}}^{{3}}{+}{z}{}{{y}}^{{2}}{,}{3}{}{{z}}^{{2}}{}{{y}}^{{2}}{+}{3}{}{z}{,}{{z}}^{{2}}{+}{2}{}{z}{+}{1}\right]$ (9)
 > $\mathrm{lrc}≔\mathrm{ListConstruct}\left(\left[\mathrm{pz},\mathrm{qy},\mathrm{qt}\right],\mathrm{rc},R\right)$
 ${\mathrm{lrc}}{≔}\left[{\mathrm{regular_chain}}{,}{\mathrm{regular_chain}}\right]$ (10)
 > $\mathrm{map}\left(\mathrm{Equations},\mathrm{lrc},R\right)$
 $\left[\left[{t}{,}{y}{-}{1}{,}{z}{+}{1}\right]{,}\left[\left({x}{-}{1}\right){}{t}{-}{2}{,}{y}{+}{1}{,}{z}{+}{1}\right]\right]$ (11)