next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Divisor :: isQLinearEquivalent

isQLinearEquivalent -- whether two rational divisors are linearly equivalent

Synopsis

Description

Given two rational divisors, this method returns true if they linearly equivalent after clearing denominators. Otherwise it returns false. It does not check if a large enough multiple makes them linearly equivalent.

i1 : R = QQ[x, y, z] / ideal(x * y - z^2);
i2 : D = divisor({1/2, 3/4}, {ideal(x, z), ideal(y, z)}, CoeffType => QQ)

o2 = 3/4*Div(y, z) + 1/2*Div(x, z)

o2 : QWeilDivisor on R
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)

o3 : QWeilDivisor on R
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);
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)

o6 : QWeilDivisor on R
i7 : E = divisor({3/2, -1/4}, {ideal(y, z), ideal(x, z)}, CoeffType => QQ)

o7 = -1/4*Div(x, z) + 3/2*Div(y, z)

o7 : QWeilDivisor on R
i8 : isQLinearEquivalent(D, E, IsGraded => true)

o8 = true
i9 : isQLinearEquivalent(3*D, E, IsGraded => true)

o9 = false

See also

Ways to use isQLinearEquivalent :