# partialJDRs -- computes the partial Jacobian dual ranks

## Synopsis

• Usage:
partialJDRs(I)
• Inputs:
• I, an ideal, an ideal defining the map
• Outputs:
• a list, the partial Jacobian dual ranks

## Description

Let $R$ be the multi-homogeneous polynomial ring $R=k[x_{1,0},x_{1,1},...,x_{1,r_1}, x_{2,0},x_{2,1},...,x_{2,r_2}, ......, x_{m,0},x_{m,1},...,x_{m,r_m}]$ and $I$ be the multi-homogeneous ideal $I=(f_0,f_1,...,f_s)$ where the polynomials $f_i$'s have the same multi-degree. We compute the degree of the rational map $\mathbb{F}: \mathbb{P}^{r_1} \times \mathbb{P}^{r_2} \times ... \times \mathbb{P}^{r_m} \to \mathbb{P}^s$ defined by $$(x_{1,0} : ... : x_{1,r_1}; ...... ;x_{m,0} : ... : x_{m,r_m}) \to (f_0(x_{1,0},...,x_{1,r_1}, ...... ,x_{m,0},...,x_{m,r_m}), ..... , f_0(x_{1,0},...,x_{1,r_1}, ...... ,x_{m,0},...,x_{m,r_m})).$$ This function computes the partial Jacobian dual ranks of $\mathbb{F}$ (see Notation 4.2 in Degree and birationality of multi-graded rational maps).

First, we compute some examples in the bigraded setting.

 i1 : R = QQ[x,y,u,v, Degrees => {{1,0}, {1,0}, {0,1}, {0,1}}] o1 = R o1 : PolynomialRing i2 : I = ideal(x*u, y*u, y*v) -- a birational map o2 = ideal (x*u, y*u, y*v) o2 : Ideal of R i3 : partialJDRs I o3 = {1, 1} o3 : List i4 : I = ideal(x*u, y*v, x*v + y*u) -- a non birational map o4 = ideal (x*u, y*v, y*u + x*v) o4 : Ideal of R i5 : partialJDRs I o5 = {0, 0} o5 : List i6 : A = matrix{ {x^5*u, x^2*v^2}, {y^5*v, x^2*u^2}, {0, y^2*v^2} }; 3 2 o6 : Matrix R <--- R i7 : I = minors(2, A) -- a non birational 7 3 2 5 3 5 2 2 7 3 o7 = ideal (x u - x y v , x y u*v , y v ) o7 : Ideal of R i8 : partialJDRs I o8 = {0, 0} o8 : List i9 : I = ideal(x*u^2, y*u^2, x*v^2) -- non birational map 2 2 2 o9 = ideal (x*u , y*u , x*v ) o9 : Ideal of R i10 : partialJDRs I o10 = {1, 0} o10 : List

Next, we test some rational maps over three projective spaces.

 i11 : R = QQ[x,y,z,w] o11 = R o11 : PolynomialRing i12 : A = matrix{ {x + y, x, x}, {3*z - 4*w, y, z}, {w, z, z + w}, {y - z, w, x + y} }; 4 3 o12 : Matrix R <--- R i13 : I = minors(3, A) -- a birational map 2 2 2 2 2 2 2 o13 = ideal (x*y*z + y z - x*z - y*z + y w - 2x*z*w + 4x*w , x y + x*y + ----------------------------------------------------------------------- 3 2 2 2 2 2 y - 3x z - x*y*z - x*z + 4x w + 4x*y*w + 2x*z*w - y*z*w - 4x*w , x z ----------------------------------------------------------------------- 2 2 2 2 2 2 3 + 2x*y*z + y z - x w - 2x*z*w - y*z*w - y*w , y z + 3x*z + y*z + z - ----------------------------------------------------------------------- 2 2 3 x*y*w - 4x*z*w - 5y*z*w - 3z w + 2z*w + 4w ) o13 : Ideal of R i14 : partialJDRs I o14 = {3} o14 : List i15 : I = ideal(random(2, R), random(2, R), random(2, R), random(2, R)); -- a non birational o15 : Ideal of R i16 : partialJDRs I o16 = {0} o16 : List

## Ways to use partialJDRs :

• "partialJDRs(Ideal)"

## For the programmer

The object partialJDRs is .