login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for noncommutative Groebner bases revision 2 of 2

1 2
Editor: hemmecke
Time: 2024/01/09 17:15:47 GMT+0
Note: correct according to 96da3341640d9b207218400f485e66c453114241 (remove VarSet from NGroebnerPackage)

changed:
-gPak := NGroebnerPackage(Polynomial(Integer), IndexedExponents(Symbol), Symbol, Pdo)
gPak := NGroebnerPackage(Polynomial(Integer), IndexedExponents(Symbol), Pdo)

FriCAS can compute Groebner bases for noncommutative polynomial rings of solvable type (of category SolvableSkewPolynomialCategory?). Below we give example using partial differential operators:

fricas
(1) -> Pdo := PartialDifferentialOperator(Polynomial(Integer), Symbol)

\label{eq1}\hbox{\axiomType{PartialDifferentialOperator}\ } (\hbox{\axiomType{Polynomial}\ } (\hbox{\axiomType{Integer}\ }) , \hbox{\axiomType{Symbol}\ })(1)
Type: Type
fricas
xx := D(x)$Pdo + y*D(z)$Pdo

\label{eq2}{y \ {D_{z}}}+{D_{x}}(2)
Type: PartialDifferentialOperator?(Polynomial(Integer),Symbol)
fricas
yy := D(y)$Pdo - x*D(z)$Pdo

\label{eq3}-{x \ {D_{z}}}+{D_{y}}(3)
Type: PartialDifferentialOperator?(Polynomial(Integer),Symbol)
fricas
L := xx*xx + yy*yy

\label{eq4}{{\left({{y}^{2}}+{{x}^{2}}\right)}\ {{D_{z}}^{2}}}+{{\left(-{2 \  x \ {D_{y}}}+{2 \  y \ {D_{x}}}\right)}\ {D_{z}}}+{{D_{y}}^{2}}+{{D_{x}}^{2}}(4)
Type: PartialDifferentialOperator?(Polynomial(Integer),Symbol)
fricas
gPak := NGroebnerPackage(Polynomial(Integer), IndexedExponents(Symbol), Pdo)

\label{eq5}\hbox{\axiomType{NGroebnerPackage}\ } (\hbox{\axiomType{Polynomial}\ } (\hbox{\axiomType{Integer}\ }) , \hbox{\axiomType{IndexedExponents}\ } (\hbox{\axiomType{Symbol}\ }) , \hbox{\axiomType{PartialDifferentialOperator}\ } (\hbox{\axiomType{Polynomial}\ } (\hbox{\axiomType{Integer}\ }) , \hbox{\axiomType{Symbol}\ }))(5)
Type: Type
fricas
groebner([L, xx])$gPak

\label{eq6}\left[{{y \ {D_{z}}}+{D_{x}}}, \:{{D_{y}}^{2}}, \:{{y \ {D_{x}}\ {D_{y}}}-{D_{x}}}, \:{{D_{x}}^{2}}\right](6)
Type: List(PartialDifferentialOperator?(Polynomial(Integer),Symbol))