1 | initial version |

This is not perfect, but it works: use `GradedCommutativeAlgebra`

. This isn't perfect because such objects are graded commutative, not commutative, so if `x`

and `z`

are in odd degrees, then `xz = -zx`

. You can deal with this by doubling all degrees to make sure nothing is in an odd degree.

```
P = GradedCommutativeAlgebra(QQ, names=('x', 'y', 'z'), degrees=(2, 4, 6))
P.inject_variables()
```

or

```
P.<x,y,z> = GradedCommutativeAlgebra(QQ, degrees=(2, 4, 6))
```

Then

```
I = P.ideal(x*y^2 + x^5, z*y + x^3*y)
Q = P.quotient(I)
Q.basis(18)
```

will return

```
[c^3, a*b*c^2, a^3*c^2, a^2*b^2*c]
```

2 | No.2 Revision |

This is not perfect, but it works: use `GradedCommutativeAlgebra`

. This isn't perfect because such objects are graded commutative, not commutative, so if `x`

and `z`

are in odd degrees, then `xz = -zx`

. You can deal with this by doubling all degrees to make sure nothing is in an odd degree.

```
P = GradedCommutativeAlgebra(QQ, names=('x', 'y', 'z'), degrees=(2, 4, 6))
P.inject_variables()
```

or

```
P.<x,y,z> = GradedCommutativeAlgebra(QQ, degrees=(2, 4, 6))
```

Then

```
I = P.ideal(x*y^2 + x^5, z*y + x^3*y)
Q = P.quotient(I)
Q.basis(18)
```

will return

~~[c^3, a*b*c^2, a^3*c^2, a^2*b^2*c]
~~[z^3, x*y*z^2, x^3*z^2, x^2*y^2*z]

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.