 Groebner - Maple Programming Help

Home : Support : Online Help : Mathematics : Algebra : Polynomials : Groebner : Groebner/Solve

Groebner

 Solve
 factoring Buchberger algorithm

 Calling Sequence Solve(G, X, NZ, opts)

Parameters

 G - a list or set of polynomials or a PolynomialIdeal X - (optional) a list or set of variables or a ShortMonomialOrder NZ - (optional) a list or set of non-zero constraints opts - optional arguments of the form keyword=value.

Description

 • The Solve command preprocesses an algebraic system for solving by computing a collection of reduced Groebner bases corresponding to subvarieties of the initial varieties.  First G is subdivided by factorization.  Then each component is passed to a variant of Buchberger's algorithm that factors all intermediate results.  Multiplicities are removed.
 • The second argument X specifies the variables of the system and optionally the monomial order. If X is a list Solve(G, X) computes lexicographic Groebner bases for each component with the variables ordered according to X.  When X is a set an order is chosen heuristically (see SuggestVariableOrder) and Solve again computes lexicographic Groebner bases for each component. If X is a ShortMonomialOrder then Solve will use X for all computations, however keep in mind that lexicographic orders tend to produce the most factorization.
 • The third argument NZ is used to prevent certain quantities from being considered in roots. If one of the polynomials in NZ vanishes identically on a component, then that component is removed. If NZ is is omitted then $\varnothing$ is assumed.
 • The optional argument characteristic=p can be used to specify the ring characteristic when G is a list or set of polynomials.  The default characteristic is zero.
 • If G is a list or set of polynomials, Solve returns a set of elements each consisting of a Groebner basis, a monomial order, and a set of non-zero constraints.  If G is a PolynomialIdeal then Solve combines the Groebner basis and monomial order into a PolynomialIdeal data structure. Either format can be selected using the optional argument output=basis or output=ideal, respectively.
 • Note that the gsolve command is deprecated.  It may not be supported in a future Maple release.

Examples

 > $\mathrm{with}\left(\mathrm{Groebner}\right):$
 > $G≔\left[{x}^{2}-2xz+5,x{y}^{2}+y{z}^{3},3{y}^{2}-8{z}^{3}\right]:$
 > $\mathrm{Solve}\left(G,\left\{x,y,z\right\}\right)$
 $\left\{\left[\left[{z}{,}{y}{,}{{x}}^{{2}}{+}{5}\right]{,}{\mathrm{plex}}{}\left({x}{,}{y}{,}{z}\right){,}{\varnothing }\right]{,}\left[\left[{9}{}{{z}}^{{6}}{-}{96}{}{{z}}^{{5}}{+}{240}{}{{z}}^{{3}}{+}{1600}{,}{-}{3}{}{{z}}^{{5}}{+}{32}{}{{z}}^{{4}}{-}{40}{}{{z}}^{{2}}{+}{80}{}{y}{,}{9}{}{{z}}^{{5}}{-}{96}{}{{z}}^{{4}}{+}{120}{}{{z}}^{{2}}{+}{640}{}{x}\right]{,}{\mathrm{plex}}{}\left({x}{,}{y}{,}{z}\right){,}\left\{{z}{,}{3}{}{{z}}^{{5}}{-}{32}{}{{z}}^{{4}}{+}{40}{}{{z}}^{{2}}\right\}\right]\right\}$ (1)
 > $\mathrm{Solve}\left(G,\left[y,z,x\right]\right)$
 $\left\{\left[\left[{{x}}^{{2}}{+}{5}{,}{z}{,}{y}\right]{,}{\mathrm{plex}}{}\left({y}{,}{z}{,}{x}\right){,}{\varnothing }\right]{,}\left[\left[{3}{}{{x}}^{{6}}{-}{64}{}{{x}}^{{5}}{+}{45}{}{{x}}^{{4}}{+}{225}{}{{x}}^{{2}}{+}{375}{,}{3}{}{{x}}^{{5}}{-}{64}{}{{x}}^{{4}}{+}{45}{}{{x}}^{{3}}{+}{150}{}{x}{+}{150}{}{z}{,}{8}{}{x}{+}{3}{}{y}\right]{,}{\mathrm{plex}}{}\left({y}{,}{z}{,}{x}\right){,}\left\{{x}{,}{{x}}^{{2}}{+}{5}\right\}\right]\right\}$ (2)
 > $\mathrm{Solve}\left(G,\left\{x,y,z\right\},\left\{y\right\}\right)$
 $\left\{\left[\left[{9}{}{{z}}^{{6}}{-}{96}{}{{z}}^{{5}}{+}{240}{}{{z}}^{{3}}{+}{1600}{,}{-}{3}{}{{z}}^{{5}}{+}{32}{}{{z}}^{{4}}{-}{40}{}{{z}}^{{2}}{+}{80}{}{y}{,}{9}{}{{z}}^{{5}}{-}{96}{}{{z}}^{{4}}{+}{120}{}{{z}}^{{2}}{+}{640}{}{x}\right]{,}{\mathrm{plex}}{}\left({x}{,}{y}{,}{z}\right){,}\left\{{z}{,}{3}{}{{z}}^{{5}}{-}{32}{}{{z}}^{{4}}{+}{40}{}{{z}}^{{2}}\right\}\right]\right\}$ (3)
 > $\mathrm{Solve}\left(G,\left\{x,y,z\right\},\mathrm{characteristic}=3\right)$
 $\left\{\left[\left[{z}{,}{y}{,}{x}{+}{1}\right]{,}{\mathrm{plex}}{}\left({x}{,}{y}{,}{z}\right){,}{\varnothing }\right]{,}\left[\left[{z}{,}{y}{,}{x}{+}{2}\right]{,}{\mathrm{plex}}{}\left({x}{,}{y}{,}{z}\right){,}{\varnothing }\right]\right\}$ (4)
 > $\mathrm{Solve}\left(G,\mathrm{tdeg}\left(x,y,z\right)\right)$
 $\left\{\left[\left[{z}{,}{y}{,}{{x}}^{{2}}{+}{5}\right]{,}{\mathrm{tdeg}}{}\left({x}{,}{y}{,}{z}\right){,}{\varnothing }\right]{,}\left[\left[{8}{}{x}{+}{3}{}{y}{,}{9}{}{{y}}^{{2}}{+}{48}{}{y}{}{z}{+}{320}{,}{3}{}{{z}}^{{3}}{+}{6}{}{y}{}{z}{+}{40}\right]{,}{\mathrm{tdeg}}{}\left({x}{,}{y}{,}{z}\right){,}\left\{{y}\right\}\right]\right\}$ (5)

Example where the multiplicities change. The point (x,y) = (0,-1) is a double point of intersection for the two curves x^2 + y^2 - 1 = 0 and y - x^2 + 1 = 0, but appears only with multiplicity one in the result.

 > $\mathrm{with}\left(\mathrm{PolynomialIdeals}\right):$
 > $J≔⟨{x}^{2}+{y}^{2}-1,y-{x}^{2}+1⟩$
 ${J}{≔}⟨{-}{{x}}^{{2}}{+}{y}{+}{1}{,}{{x}}^{{2}}{+}{{y}}^{{2}}{-}{1}⟩$ (6)
 > $\mathrm{Solve}\left(J,\left[x,y\right]\right)$
 $\left\{\left[⟨{x}{,}{y}{+}{1}⟩{,}{\varnothing }\right]{,}\left[⟨{y}{,}{x}{-}{1}⟩{,}{\varnothing }\right]{,}\left[⟨{y}{,}{x}{+}{1}⟩{,}{\varnothing }\right]\right\}$ (7)