Toric rational divisor classes - Schemes

Skip to content
Back to top
View this page
Edit this page

# Toric rational divisor classes

This module is a part of the framework for `toric varieties`.

AUTHORS:

- Volker Braun and Andrey Novoseltsev (2010-09-05): initial version.

class sage.schemes.toric.divisor_class.ToricRationalDivisorClass

  Bases: `Vector_rational_dense`

  Create a toric rational divisor class.

  Warning

  You probably should not construct divisor classes explicitly.

  INPUT:

  - same as for `Vector_rational_dense`.

  OUTPUT: toric rational divisor class

  lift()

    Return a divisor representing this divisor class.

    OUTPUT: an instance of `ToricDivisor` representing `self`

    EXAMPLES:

    Sage

        sage: X = toric_varieties.Cube_nonpolyhedral()
        sage: D = X.divisor([0,1,2,3,4,5,6,7]); D
        V(z1) + 2*V(z2) + 3*V(z3) + 4*V(z4) + 5*V(z5) + 6*V(z6) + 7*V(z7)
        sage: D.divisor_class()
        Divisor class [29, 6, 8, 10, 0]
        sage: Dequiv = D.divisor_class().lift(); Dequiv
        15*V(z1) - 11*V(z2) - 9*V(z5) + 19*V(z6) + 10*V(z7)
        sage: Dequiv == D
        False
        sage: Dequiv.divisor_class() == D.divisor_class()
        True

    Python

        >>> from sage.all import *
        >>> X = toric_varieties.Cube_nonpolyhedral()
        >>> D = X.divisor([Integer(0),Integer(1),Integer(2),Integer(3),Integer(4),Integer(5),Integer(6),Integer(7)]); D
        V(z1) + 2*V(z2) + 3*V(z3) + 4*V(z4) + 5*V(z5) + 6*V(z6) + 7*V(z7)
        >>> D.divisor_class()
        Divisor class [29, 6, 8, 10, 0]
        >>> Dequiv = D.divisor_class().lift(); Dequiv
        15*V(z1) - 11*V(z2) - 9*V(z5) + 19*V(z6) + 10*V(z7)
        >>> Dequiv == D
        False
        >>> Dequiv.divisor_class() == D.divisor_class()
        True

sage.schemes.toric.divisor_class.is_ToricRationalDivisorClass(x)

  Check if `x` is a toric rational divisor class.

  INPUT:

  - `x` – anything

  OUTPUT: `True` if `x` is a toric rational divisor class, `False` otherwise

  EXAMPLES:

  Sage

      sage: from sage.schemes.toric.divisor_class import is_ToricRationalDivisorClass
      sage: is_ToricRationalDivisorClass(1)
      False
      sage: dP6 = toric_varieties.dP6()
      sage: D = dP6.rational_class_group().gen(0); D
      Divisor class [1, 0, 0, 0]
      sage: is_ToricRationalDivisorClass(D)
      True

  Python

      >>> from sage.all import *
      >>> from sage.schemes.toric.divisor_class import is_ToricRationalDivisorClass
      >>> is_ToricRationalDivisorClass(Integer(1))
      False
      >>> dP6 = toric_varieties.dP6()
      >>> D = dP6.rational_class_group().gen(Integer(0)); D
      Divisor class [1, 0, 0, 0]
      >>> is_ToricRationalDivisorClass(D)
      True