Default is true, in which case the function removes zero columns and duplicate columns giving rise to the same projective point. For duplicate points, a single instance is retained with the largest multiplicity.
i1 : R = QQ[x,y,z]
o1 = R
o1 : PolynomialRing
|
i2 : Mbad = matrix {{1,2,0,1}, {0,0,0,1}, {0,0,0,1}}
o2 = | 1 2 0 1 |
| 0 0 0 1 |
| 0 0 0 1 |
3 4
o2 : Matrix ZZ <-- ZZ
|
i3 : Mclean = matrix {{1,1}, {0,1}, {0,1}}
o3 = | 1 1 |
| 0 1 |
| 0 1 |
3 2
o3 : Matrix ZZ <-- ZZ
|
i4 : mults = {1,3,5,2}
o4 = {1, 3, 5, 2}
o4 : List
|
i5 : multsClean = {3,2}
o5 = {3, 2}
o5 : List
|
i6 : (inF1,GF1) = projectiveFatPoints(Mbad,mults,R)
2 3 2 2 3 2 2 3 3 2 3
o6 = (ideal (y z, y , x*y*z , x z ), {y z - 2y*z + z , y - 3y*z + 2z ,
------------------------------------------------------------------------
2 3 3 4 2 3 4 5
x*y*z - x*z - y*z + z , x z - 2x*z + z })
o6 : Sequence
|
i7 : (inF2,GF2) = projectiveFatPoints(Mclean,multsClean,R)
2 3 2 2 3 2 2 3 3 2 3
o7 = (ideal (y z, y , x*y*z , x z ), {y z - 2y*z + z , y - 3y*z + 2z ,
------------------------------------------------------------------------
2 3 3 4 2 3 4 5
x*y*z - x*z - y*z + z , x z - 2x*z + z })
o7 : Sequence
|
i8 : (inF1 == inF2, GF1 == GF2)
o8 = (true, true)
o8 : Sequence
|