Schemes - Category Framework

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

# Schemes

class sage.categories.schemes.AbelianVarieties(base)

  Bases: `Schemes_over_base`

  The category of abelian varieties over a given field.

  EXAMPLES:

  Sage

      sage: AbelianVarieties(QQ)
      Category of abelian varieties over Rational Field
      sage: AbelianVarieties(ZZ)
      Traceback (most recent call last):
      ...
      ValueError: category of abelian varieties is only defined over fields

  Python

      >>> from sage.all import *
      >>> AbelianVarieties(QQ)
      Category of abelian varieties over Rational Field
      >>> AbelianVarieties(ZZ)
      Traceback (most recent call last):
      ...
      ValueError: category of abelian varieties is only defined over fields

  class Homsets(category, *args)

    Bases: `HomsetsCategory`

    Overloaded `Homsets` class to register the homset as an additive abelian group.

    EXAMPLES:

    Sage

        sage: AbelianVarieties(QQ).Homsets().is_subcategory(CommutativeAdditiveGroups())
        True

    Python

        >>> from sage.all import *
        >>> AbelianVarieties(QQ).Homsets().is_subcategory(CommutativeAdditiveGroups())
        True

    class Endset(base_category)

      Bases: `CategoryWithAxiom`

      Overloaded `Endset` class to register the endset as a ring.

      sage: AbelianVarieties(QQ).Endsets().is_subcategory(Rings()) True

      extra_super_categories()

        Register the endset as a ring.

        EXAMPLES:

        Sage

            sage: End(EllipticCurve(j=1)) in Rings()
            True

        Python

            >>> from sage.all import *
            >>> End(EllipticCurve(j=Integer(1))) in Rings()
            True

    extra_super_categories()

      Register the homset as an additive abelian group.

      EXAMPLES:

      Sage

          sage: Hom(EllipticCurve(j=1), EllipticCurve(j=2)) in CommutativeAdditiveGroups()
          True

      Python

          >>> from sage.all import *
          >>> Hom(EllipticCurve(j=Integer(1)), EllipticCurve(j=Integer(2))) in CommutativeAdditiveGroups()
          True

  base_scheme()

    EXAMPLES:

    Sage

        sage: Schemes(Spec(ZZ)).base_scheme()
        Spectrum of Integer Ring

    Python

        >>> from sage.all import *
        >>> Schemes(Spec(ZZ)).base_scheme()
        Spectrum of Integer Ring

  super_categories()

    EXAMPLES:

    Sage

        sage: AbelianVarieties(QQ).super_categories()
        [Category of schemes over Rational Field,
         Category of commutative additive groups]

    Python

        >>> from sage.all import *
        >>> AbelianVarieties(QQ).super_categories()
        [Category of schemes over Rational Field,
         Category of commutative additive groups]

class sage.categories.schemes.Jacobians(base)

  Bases: `Schemes_over_base`

  The category of Jacobians attached to curves or function fields.

  EXAMPLES:

  Sage

      sage: Jacobians(QQ)
      Category of Jacobians over Rational Field

  Python

      >>> from sage.all import *
      >>> Jacobians(QQ)
      Category of Jacobians over Rational Field

  class ParentMethods

    Bases: `object`

    base_curve()

      Return the curve to which this Jacobian is attached.

      EXAMPLES:

      Sage

          sage: # needs sage.rings.function_field
          sage: K.<x> = FunctionField(GF(2))
          sage: J = K.jacobian()
          sage: J.base_curve()
          Rational function field in x over Finite Field of size 2

      Python

          >>> from sage.all import *
          >>> # needs sage.rings.function_field
          >>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1)
          >>> J = K.jacobian()
          >>> J.base_curve()
          Rational function field in x over Finite Field of size 2

  base_scheme()

    Return the base scheme of this Jacobians category.

    EXAMPLES:

    Sage

        sage: Jacobians(QQ).base_scheme()
        Spectrum of Rational Field

    Python

        >>> from sage.all import *
        >>> Jacobians(QQ).base_scheme()
        Spectrum of Rational Field

  super_categories()

    Return the super categories of this Jacobians category.

    EXAMPLES:

    Sage

        sage: Jacobians(QQ).super_categories()
        [Category of abelian varieties over Rational Field]

    Python

        >>> from sage.all import *
        >>> Jacobians(QQ).super_categories()
        [Category of abelian varieties over Rational Field]

class sage.categories.schemes.Schemes

  Bases: `Category`

  The category of all schemes.

  EXAMPLES:

  Sage

      sage: Schemes()
      Category of schemes

  Python

      >>> from sage.all import *
      >>> Schemes()
      Category of schemes

  `Schemes` can also be used to construct the category of schemes over a given base:

  Sage

      sage: Schemes(Spec(ZZ))
      Category of schemes over Integer Ring

      sage: Schemes(ZZ)
      Category of schemes over Integer Ring

  [Python]

      >>> from sage.all import *
      >>> Schemes(Spec(ZZ))
      Category of schemes over Integer Ring

      >>> Schemes(ZZ)
      Category of schemes over Integer Ring

  Todo

  Make `Schemes()` a singleton category (and remove `Schemes` from the workaround in `category_types.Category_over_base._test_category_over_bases()`).

  This is currently incompatible with the dispatching below.

  super_categories()

    EXAMPLES:

    Sage

        sage: Schemes().super_categories()
        [Category of sets]

    Python

        >>> from sage.all import *
        >>> Schemes().super_categories()
        [Category of sets]

class sage.categories.schemes.Schemes_over_base(base, name=None)

  Bases: `Category_over_base`

  The category of schemes over a given base scheme.

  EXAMPLES:

  Sage

      sage: Schemes(Spec(ZZ))
      Category of schemes over Integer Ring

  Python

      >>> from sage.all import *
      >>> Schemes(Spec(ZZ))
      Category of schemes over Integer Ring

  base_scheme()

    EXAMPLES:

    Sage

        sage: Schemes(Spec(ZZ)).base_scheme()
        Spectrum of Integer Ring

    Python

        >>> from sage.all import *
        >>> Schemes(Spec(ZZ)).base_scheme()
        Spectrum of Integer Ring

  super_categories()

    EXAMPLES:

    Sage

        sage: Schemes(Spec(ZZ)).super_categories()
        [Category of schemes]

    Python

        >>> from sage.all import *
        >>> Schemes(Spec(ZZ)).super_categories()
        [Category of schemes]