Given two Weil divisors, this method checks whether they are linearly equivalent.
i1 : R = QQ[x, y, z]/ ideal(x * y - z^2); |
i2 : D1 = divisor({3, 8}, {ideal(x, z), ideal(y, z)})
o2 = 8*Div(y, z) + 3*Div(x, z)
o2 : WeilDivisor on R
|
i3 : D2 = divisor({8, 1}, {ideal(y, z), ideal(x, z)})
o3 = 8*Div(y, z) + Div(x, z)
o3 : WeilDivisor on R
|
i4 : isLinearEquivalent(D1, D2) o4 = true |
If IsGraded is set to true (by default it is false), then it treats the divisors as divisors on the $Proj$ of their ambient ring.
i5 : R = QQ[x, y, z]/ ideal(x * y - z^2); |
i6 : D1 = divisor({3, 8}, {ideal(x, z), ideal(y, z)})
o6 = 8*Div(y, z) + 3*Div(x, z)
o6 : WeilDivisor on R
|
i7 : D2 = divisor({8, 1}, {ideal(y, z), ideal(x, z)})
o7 = 8*Div(y, z) + Div(x, z)
o7 : WeilDivisor on R
|
i8 : isLinearEquivalent(D1, D2, IsGraded => true) o8 = false |
The object isLinearEquivalent is a method function with options.