RegularChains[ChainTools]
Chain
constructs regular chains
Calling Sequence
Parameters
Description
Examples
Chain(lp, rc, R)
lp

list of polynomials of R
rc
regular chain of R
R
polynomial ring
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 nonconstant 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](..).
$\mathrm{with}\left(\mathrm{RegularChains}\right)\:$
$\mathrm{with}\left(\mathrm{ChainTools}\right)\:$
$R\u2254\mathrm{PolynomialRing}\left(\left[t\,x\,y\,z\right]\right)$
${R}{\u2254}{\mathrm{polynomial\_ring}}$
$\mathrm{pz}\u2254{z}^{2}+2z+1$
${\mathrm{pz}}{\u2254}{{z}}^{{2}}{+}{2}{}{z}{+}{1}$
$\mathrm{py}\u2254z{y}^{2}+1$
${\mathrm{py}}{\u2254}{z}{}{{y}}^{{2}}{+}{1}$
$\mathrm{pt}\u2254t\left(x+y\right)+y+z$
${\mathrm{pt}}{\u2254}{t}{}\left({x}{+}{y}\right){+}{y}{+}{z}$
$\mathrm{qy}\u2254\mathrm{expand}\left(3z\mathrm{py}\right)$
${\mathrm{qy}}{\u2254}{3}{}{{y}}^{{2}}{}{{z}}^{{2}}{+}{3}{}{z}$
$\mathrm{qt}\u2254\mathrm{expand}\left({\left(x+y\right)}^{2}\mathrm{pt}\right)$
${\mathrm{qt}}{\u2254}{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}}$
$\mathrm{rc}\u2254\mathrm{Empty}\left(R\right)$
${\mathrm{rc}}{\u2254}{\mathrm{regular\_chain}}$
$\mathrm{rc1}\u2254\mathrm{Chain}\left(\left[\mathrm{pz}\,\mathrm{qy}\,\mathrm{qt}\right]\,\mathrm{rc}\,R\right)$
${\mathrm{rc1}}{\u2254}{\mathrm{regular\_chain}}$
$\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]$
$\mathrm{lrc}\u2254\mathrm{ListConstruct}\left(\left[\mathrm{pz}\,\mathrm{qy}\,\mathrm{qt}\right]\,\mathrm{rc}\,R\right)$
${\mathrm{lrc}}{\u2254}\left[{\mathrm{regular\_chain}}{\,}{\mathrm{regular\_chain}}\right]$
$\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]$
See Also
ChainTools
Construct
Empty
Equations
ListConstruct
PolynomialRing
RegularChains
Download Help Document
What kind of issue would you like to report? (Optional)