MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Let $I$ be an ideal of $k[x_1, \ldots, x_m, y_1, \ldots, y_n]$, $k$ being a field. Does any of the computer algebra systems implement any algorithm to calculate the generators of the 'bi-homogenization' $\tilde I$ of $I$ with respect to $x$ and $y$ variables?

(Recall that the 'bi-homogenization' of a polynomial $f = \sum a_{\alpha, \beta} x^\alpha y^\beta$ is by definition $\tilde f := \sum a_{\alpha, \beta} x^\alpha y^\beta x_0^{d - |\alpha|} y_0^{e- |\beta|}$, where $x_0$ and $y_0$ are two new variables, $d := \deg_x(f)$ and $e := \deg_y(f)$. Then $\tilde I := ${$\tilde f: f \in I$}.)

My motivation is geometric: to find the closure $\overset{-}{V}$ of a subvariety $V$ of $k^{m+n}$ in $\mathbb{P}^m \times \mathbb{P}^n$. Of course I could as well calculate the Segre embedding of $\overset{-}{V}$ in $\mathbb{P}^{mn + m +n}$, but I would like to have something computationally less expensive.

I can think of an algorithm which involves introducing $n$ (or $m$, whichever is the smaller) new variables $t_1, \ldots, t_n$ and computing the monomial basis of an ideal $J$ in $k[x,y,t]$, where $J$ is to be constructed from $I$. But I was wondering if someone had already implemented some (possibly better) algorithm which would do this job.

share|cite|improve this question
The title has been changed - after 22 views and no answer in 24 hours. Let's see if it works :) – auniket Aug 31 '10 at 8:17
up vote 6 down vote accepted

This can be done in a few steps in probably any computer algebra package. You take the generators of your original ideal $I$, and bi-homogenize them, as described in the question. Then saturate with respect to the two hyperplanes at infinity, which are defined by the equation $x_0 y_0$.

For example, the diagonal in $\mathbb A^3 \times \mathbb A^3$ is defined by $x_1 - y_1$, $x_2 - y_2$, and $x_3 - y_3$. If I wanted to use this to compute the ideal of the diagonal in $\mathbb P^3 \times \mathbb P^3$, I would use the following commands in Macaulay2:

 r = QQ[x0,x1,x2,x3,y0,y1,y2,y3]
 i = ideal(x1*y0-y1*x0, x2*y0-y2*x0, x3*y0-y3*x0)
 saturate(i, x0*y0)

The code in Singular would be:

 ring r = 0, (x0,x1,x2,x3,y0,y1,y2,y3), dp;
 ideal i = x1*y0-y1*x0, x2*y0-y2*x0, x3*y0-y3*x0;
 LIB "elim.lib";
 sat(i, x0*y0);
share|cite|improve this answer
Thanks! I forgot about saturation - this is pretty cool! – auniket Aug 31 '10 at 20:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.