# Divisor groups¶

AUTHORS:

• David Kohel (2006): Initial version
• Volker Braun (2010-07-16): Documentation, doctests, coercion fixes, bugfixes.
sage.schemes.generic.divisor_group.DivisorGroup(scheme, base_ring=None)

Return the group of divisors on the scheme.

INPUT:

• scheme – a scheme.
• base_ring – usually either $$\ZZ$$ (default) or $$\QQ$$. The coefficient ring of the divisors. Not to be confused with the base ring of the scheme!

OUTPUT:

An instance of DivisorGroup_generic.

EXAMPLES:

sage: from sage.schemes.generic.divisor_group import DivisorGroup
sage: DivisorGroup(Spec(ZZ))
Group of ZZ-Divisors on Spectrum of Integer Ring
sage: DivisorGroup(Spec(ZZ), base_ring=QQ)
Group of QQ-Divisors on Spectrum of Integer Ring

class sage.schemes.generic.divisor_group.DivisorGroup_curve(scheme, base_ring)

Special case of the group of divisors on a curve.

class sage.schemes.generic.divisor_group.DivisorGroup_generic(scheme, base_ring)

The divisor group on a variety.

base_extend(R)

EXAMPLES:

sage: from sage.schemes.generic.divisor_group import DivisorGroup
sage: DivisorGroup(Spec(ZZ),ZZ).base_extend(QQ)
Group of QQ-Divisors on Spectrum of Integer Ring
sage: DivisorGroup(Spec(ZZ),ZZ).base_extend(GF(7))
Group of (Finite Field of size 7)-Divisors on Spectrum of Integer Ring


Divisor groups are unique:

sage: A.<x, y> = AffineSpace(2, CC)
sage: C = Curve(y^2 - x^9 - x)
sage: DivisorGroup(C,ZZ).base_extend(QQ) is DivisorGroup(C,QQ)
True

scheme()

Return the scheme supporting the divisors.

EXAMPLES:

sage: from sage.schemes.generic.divisor_group import DivisorGroup
sage: Div = DivisorGroup(Spec(ZZ))   # indirect test
sage: Div.scheme()
Spectrum of Integer Ring

sage.schemes.generic.divisor_group.is_DivisorGroup(x)

Return whether x is a DivisorGroup_generic.

INPUT:

• x – anything.

OUTPUT:

True or False.

EXAMPLES:

sage: from sage.schemes.generic.divisor_group import is_DivisorGroup, DivisorGroup
sage: Div = DivisorGroup(Spec(ZZ), base_ring=QQ)
sage: is_DivisorGroup(Div)
True
sage: is_DivisorGroup('not a divisor')
False