1 | initial version |

The usual solution for groebner bases is to just throw the variables in the ring:

```
sage: R.<x1,y1,x2,y2,x3,y3,x0,y0> = PolynomialRing(QQ, order='lex')
```

It may be worth experimenting a little with what weight you want to give these variables, but probably a low weight (as above) is good: they are parameters to you, so you don't care to what degree they occur. In particular, they shouldn't be eliminated anywhere at the cost of letting other variables occur to higher degrees.

This is usually enough to get what you want, but it's not the same as having x0,y0 invertible. If you really want to work in the polynomial ring over the fraction field of `QQ[x0,y0]`

, then you can write

```
sage: R.<x1,y1,x2,y2,x3,y3,x0i,y0i,x0,y0> = PolynomialRing(QQ, order='lex')
```

and add the relations `x0*x0i-1, y0*y0i-1`

to your ideal.

You may want to experiment with variable ordering to see which gives you the best result (if you have to freedom to choose anything else then lexicographic)

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.