This checks whether $f : X \to Y$ is birational onto its image. We do this by computing the image and then calling isBirationalOntoImage. The option AssumeDominant being true will cause the function to assume that the kernel of the associated ring map is zero (default value is false). The source must be a variety, in particular its defining ideals must be prime. In the following example, the map is not birational, but it is birational onto its image.
i1 : R=QQ[x,y]; |
i2 : S=QQ[a,b,c,d]; |
i3 : Pi = map(R, S, {x^3, x^2*y, x*y^2, y^3}); o3 : RingMap R <--- S |
i4 : isBirationalOntoImage(Pi, Verbose=>false) o4 = true |
i5 : isBirationalMap(Pi, Verbose=>false) o5 = false |
Sub-Hankel matrices have homaloidal determinants.
i6 : A = QQ[z_0..z_6]; |
i7 : H=map(A^4,4,(i,j)->A_(i+j)); 4 4 o7 : Matrix A <--- A |
i8 : SH=sub(H,{z_5=>0,z_6=>0}) o8 = | z_0 z_1 z_2 z_3 | | z_1 z_2 z_3 z_4 | | z_2 z_3 z_4 0 | | z_3 z_4 0 0 | 4 4 o8 : Matrix A <--- A |
i9 : sh=map(A, A, transpose jacobian ideal det SH ); o9 : RingMap A <--- A |
i10 : isBirationalOntoImage(sh, Verbose=>false) o10 = false |
i11 : B=QQ[t_0..t_4]; |
i12 : li=map(B,A,matrix{{t_0..t_4,0,0}}); o12 : RingMap B <--- A |
i13 : phi=li*sh; o13 : RingMap B <--- A |
i14 : isBirationalOntoImage(phi, HybridLimit=>2) Starting isBirationalOntoImage Starting inverseOfMapOntoImageSimis(SimisStrategy or HybridStrategy) isBirationalOntoImageSimis: About to find the image of the map. If you know the image, you may want to use the AssumeDominant option if this is slow. isBirationalOntoImageSimis: Found the image of the map. isBirationalOntoImageSimis: About to compute partial Groebner basis of rees ideal up to degree {1, 1}. isBirationalOntoImageSimis: Found Jacobian dual matrix (or a weak form of it), it has 5 columns and about 6 rows. isBirationalOntoImageSimis: is computing the rank of the Jacobian Dual Matrix- barJD isRankAtLeast: Going to single threaded version. getSubmatrixOfRank: Trying to find a submatrix of rank at least: 4 with attempts = 3. DetStrategy=>Rank internalChooseMinor: Choosing GRevLexSmallestTerm internalChooseMinor: Choosing GRevLexSmallestTerm internalChooseMinor: Choosing GRevLexSmallestTerm getSubmatrixOfRank: found one, in 3 attempts o14 = true |
The object isBirationalOntoImage is a method function with options.