Given two rational divisors, this method returns if they are Q-linearly equivalent. Otherwise it returns false.
i1 : R = QQ[x, y, z] / ideal(x * y - z^2)
o1 = R
o1 : QuotientRing
|
i2 : D = divisor({1/2, 3/4}, {ideal(x, z), ideal(y, z)}, CoeffType => QQ)
o2 = 1/2*Div(x, z) + 3/4*Div(y, z) of R
o2 : QDiv
|
i3 : E = divisor({3/4, 5/2}, {ideal(y, z), ideal(x, z)}, CoeffType => QQ)
o3 = 3/4*Div(y, z) + 5/2*Div(x, z) of R
o3 : QDiv
|
i4 : isQLinearEquivalent(D, E)
o4 = true
|
In the above ring, every pair of divisors is Q-linearly equivalent because the Weil divisor class group is isomorphic to Z/2.
If IsGraded=>true (the default is false), then it treats the divisors as if they are divisors on the Proj of their ambient ring.
i5 : R = QQ[x, y, z] / ideal(x * y - z^2)
o5 = R
o5 : QuotientRing
|
i6 : D = divisor({1/2, 3/4}, {ideal(x, z), ideal(y, z)}, CoeffType => QQ)
o6 = 1/2*Div(x, z) + 3/4*Div(y, z) of R
o6 : QDiv
|
i7 : E = divisor({3/4, 5/2}, {ideal(y, z), ideal(x, z)}, CoeffType => QQ)
o7 = 3/4*Div(y, z) + 5/2*Div(x, z) of R
o7 : QDiv
|
i8 : isQLinearEquivalent(D, E, IsGraded => true)
o8 = false
|
This is a more restrictive condition, and now the two divisors are not Q-linearly equivalent as they have different degrees on the corresponding projective line.