# Computing the ideal of relations

Given two projective spaces $\mathbb P^n$ and $\mathbb P^m$ together with $m+1$ global sections of the invertible sheaf $\mathcal O_{\mathbb P^n}(d)$ (e.g. $m+1$ homogeneous polynomials of degree $d$ in the variables $x_0,\cdots,x_n$, say $f_0,\cdots,f_m$), we know that there exists a unique morphism $[f_0,\cdots,f_m] : \mathbb P^n \to \mathbb P^m$. Assume the projective spaces are considered over a noetherian ring ; the morphisms to the base are both projective, hence proper, which means $[f_0,\cdots,f_m]$ is a proper morphism, hence has closed image.

Question : Does there exist an algorithm already implemented in Sage to find the homogeneous ideal of relations of the image of the map $[f_0,\cdots,f_m]$? I've been messing around for a few days now and it seems to only involve linear algebra, so in the case where the base is the spectrum of a field there should be an algorithm, I just don't know how efficient it is or if it's implemented at all. I would not mind if the algorithm was slow, I just want it to work in small cases (i.e. small degree and small number of polynomials)!

edit retag close merge delete

Sort by ยป oldest newest most voted

The missing key word is elimination, the sage method is elimination_ideal:

There will be no (projective) Spec in this answer, hope, i am translating correctly the question into the affine (homogenos) setting. Let us fix a (ring $R$, or maybe first a) field $F$. We consider the two polynomial rings $$A=A_m=F[x_0,x_1,\dots,x_m]$$ and $$B=B_n=F[y_0,y_1,\dots,y_n]$$ and a map from $A$ to $B$ given formally by $$x_k\to f_k(y_0, y_1,\dots,y_n)\ .$$ Here $f_k$ is a homogenous polynomial of degree $d$. So the map $f$ (say) $$A_m\to B_n$$ induces a map $${\mathbb P}_F^m\leftarrow {\mathbb P}_F^n\ .$$ (And we will never see the projective spaces again.) Let us now work in the ring $$C = F[\ x_0,x_1,\dots,x_m\ ;\ y_0,y_1,\dots,y_n\ ]\ /\ J$$ where $J$ is the ideal generated by the weighted homogenous polynomials $$y_k - f_k(x_0,x_1,\dots,x_m)\ .$$ We want and only need now to eliminate the $x$-variables.

Code example:

We use instead of $x_0,x_1,x_2$ the variables a,b,c.

And instead of $y_0, y_1,y_2,y_3,y_4,y_5,y_6$ the variables s,t,u,v,w,x,y,z.

We work over rationals and consider the map of degree $d=4$ corresponding to:

R.<a,b,c,s,t,u,v,w,x,y,z> = PolynomialRing( QQ )
J = R.ideal( [ s - ( a^4 + b^4 + c^4 ),
t - ( a^2 + b^2 + c^2 )^2,
u - ( a+b+c )*(a^3 + b^3 + c^3),
v - a*b*c*(a+b+c),
w - ( a^2*b^2 + a^2*c^2 + b^2*c^2 ),
x - ( a*b + a*c + b*c )^2,
y - ( a + b + c )^4,
z - ( a^3*b + a*b^3 + a^3*c + a*c^3 + b^3*c + b*c^3 ) ] )

K = J.elimination_ideal( [ a,b,c ] )
for g in K.gens():
print g


This gives:

2*v + w - x
u + 6*x - y + 3*z
t - 2*w + 6*x - y + 4*z
s + 6*x - y + 4*z
w^2 - 10*w*x + 25*x^2 - 4*x*y - 4*w*z + 20*x*z + 4*z^2

more