Schemes#

class sage.categories.schemes.AbelianVarieties(base)[source]#

Bases: Schemes_over_base

The category of abelian varieties over a given field.

EXAMPLES:

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
>>> 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)[source]#

Bases: HomsetsCategory

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

EXAMPLES:

sage: AbelianVarieties(QQ).Homsets().is_subcategory(CommutativeAdditiveGroups())
True
>>> from sage.all import *
>>> AbelianVarieties(QQ).Homsets().is_subcategory(CommutativeAdditiveGroups())
True
class Endset(base_category)[source]#

Bases: CategoryWithAxiom

Overloaded Endset class to register the endset as a ring.

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

extra_super_categories()[source]#

Register the endset as a ring.

EXAMPLES:

sage: End(EllipticCurve(j=1)) in Rings()
True
>>> from sage.all import *
>>> End(EllipticCurve(j=Integer(1))) in Rings()
True
extra_super_categories()[source]#

Register the homset as an additive abelian group.

EXAMPLES:

sage: Hom(EllipticCurve(j=1), EllipticCurve(j=2)) in CommutativeAdditiveGroups()
True
>>> from sage.all import *
>>> Hom(EllipticCurve(j=Integer(1)), EllipticCurve(j=Integer(2))) in CommutativeAdditiveGroups()
True
base_scheme()[source]#

EXAMPLES:

sage: Schemes(Spec(ZZ)).base_scheme()
Spectrum of Integer Ring
>>> from sage.all import *
>>> Schemes(Spec(ZZ)).base_scheme()
Spectrum of Integer Ring
super_categories()[source]#

EXAMPLES:

sage: AbelianVarieties(QQ).super_categories()
[Category of schemes over Rational Field,
 Category of commutative additive groups]
>>> 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)[source]#

Bases: Schemes_over_base

The category of Jacobians attached to curves or function fields.

EXAMPLES:

sage: Jacobians(QQ)
Category of Jacobians over Rational Field
>>> from sage.all import *
>>> Jacobians(QQ)
Category of Jacobians over Rational Field
class ParentMethods[source]#

Bases: object

base_curve()[source]#

Return the curve to which this Jacobian is attached.

EXAMPLES:

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
>>> 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()[source]#

Return the base scheme of this Jacobians category.

EXAMPLES:

sage: Jacobians(QQ).base_scheme()
Spectrum of Rational Field
>>> from sage.all import *
>>> Jacobians(QQ).base_scheme()
Spectrum of Rational Field
super_categories()[source]#

Return the super categories of this Jacobians category.

EXAMPLES:

sage: Jacobians(QQ).super_categories()
[Category of abelian varieties over Rational Field]
>>> from sage.all import *
>>> Jacobians(QQ).super_categories()
[Category of abelian varieties over Rational Field]
class sage.categories.schemes.Schemes[source]#

Bases: Category

The category of all schemes.

EXAMPLES:

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

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

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

sage: Schemes(ZZ)
Category of schemes over Integer Ring
>>> 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()[source]#

EXAMPLES:

sage: Schemes().super_categories()
[Category of sets]
>>> from sage.all import *
>>> Schemes().super_categories()
[Category of sets]
class sage.categories.schemes.Schemes_over_base(base, name=None)[source]#

Bases: Category_over_base

The category of schemes over a given base scheme.

EXAMPLES:

sage: Schemes(Spec(ZZ))
Category of schemes over Integer Ring
>>> from sage.all import *
>>> Schemes(Spec(ZZ))
Category of schemes over Integer Ring
base_scheme()[source]#

EXAMPLES:

sage: Schemes(Spec(ZZ)).base_scheme()
Spectrum of Integer Ring
>>> from sage.all import *
>>> Schemes(Spec(ZZ)).base_scheme()
Spectrum of Integer Ring
super_categories()[source]#

EXAMPLES:

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