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.