AUTHORS:
An abstract affine scheme.
Return the scheme morphism from self to Y defined by x.
If Y is not given, try to determine from context.
EXAMPLES: We construct the inclusion from
into
induced by the inclusion from
into
.
sage: X = Spec(QQ)
sage: X.hom(ZZ.hom(QQ))
Affine Scheme morphism:
From: Spectrum of Rational Field
To: Spectrum of Integer Ring
Defn: Ring Coercion morphism:
From: Integer Ring
To: Rational Field
Return the set of scheme morphisms from self to Y.
EXAMPLES:
sage: P = ProjectiveSpace(ZZ, 3)
sage: S = Spec(ZZ)
sage: S._Hom_(P)
Set of points of Projective Space of dimension 3 over Integer Ring defined over Integer Ring
Return the disjoint union of the schemes self and X.
EXAMPLES:
sage: S = Spec(QQ)
sage: X = AffineSpace(1, QQ)
sage: S.union(X)
...
NotImplementedError
If S is a ring or scheme, return the set of
-valued points on
. If
is a list
or tuple or just the coordinates, return a point in
,
where
is the base scheme of self.
EXAMPLES:
sage: A = AffineSpace(2, QQ)
We create some point sets:
sage: A(QQ)
Set of Rational Points of Affine Space of dimension 2 over Rational Field
sage: A(RR)
Set of Rational Points of Affine Space of dimension 2 over Real Field with 53 bits of precision
Space of dimension 2 over Rational Field
sage: R.<x> = PolynomialRing(QQ)
sage: A(NumberField(x^2+1, 'a'))
Set of Rational Points of Affine Space of dimension 2 over Number Field in a with defining polynomial x^2 + 1
sage: A(GF(7))
...
ValueError: No natural map from the base ring (=Rational Field) to S (=Finite Field of size 7)
We create some points:
sage: A(QQ)([1,0])
(1, 0)
We create the same point by giving the coordinates of the point directly.
sage: A( 1,0 )
(1, 0)
EXAMPLES:
sage: X = Spec(QQ); Y = Spec(QQ)
sage: X == Y
True
sage: X is Y
False
Return the base extension of self to Y.
EXAMPLES:
sage: A = AffineSpace(3, ZZ)
sage: A
Affine Space of dimension 3 over Integer Ring
sage: A/QQ
Affine Space of dimension 3 over Rational Field
sage: A/GF(7)
Affine Space of dimension 3 over Finite Field of size 7
A scheme.
TESTS:
sage: R.<x, y> = QQ[]
sage: I = (x^2 - y^2)*R
sage: RmodI = R.quotient(I)
sage: X = Spec(RmodI)
sage: X == loads(dumps(X))
True
EXAMPLES:
sage: X = Spec(QQ)
sage: X._homset_class()
...
NotImplementedError
EXAMPLES:
sage: X = Spec(QQ)
sage: X._point_class()
...
NotImplementedError
EXAMPLES:
sage: X = Spec(QQ)
sage: X._point_morphism_class()
...
NotImplementedError
Y is either a scheme in the same category as self or a ring.
EXAMPLES:
sage: X = Spec(QQ)
sage: X.base_scheme()
Spectrum of Integer Ring
sage: X.base_extend(QQ)
...
NotImplementedError
Return the structure morphism from the scheme self to its base scheme.
EXAMPLES:
sage: A = AffineSpace(4, QQ)
sage: A.base_morphism()
Scheme morphism:
From: Affine Space of dimension 4 over Rational Field
To: Spectrum of Rational Field
Defn: Structure map
sage: X = Spec(QQ)
sage: X.base_morphism()
Scheme morphism:
From: Spectrum of Rational Field
To: Spectrum of Integer Ring
Defn: Structure map
Return the base ring of the scheme self.
EXAMPLES:
sage: A = AffineSpace(4, QQ)
sage: A.base_ring()
Rational Field
sage: X = Spec(QQ)
sage: X.base_ring()
Integer Ring
Return the base scheme of the scheme self.
EXAMPLES:
sage: A = AffineSpace(4, QQ)
sage: A.base_scheme()
Spectrum of Rational Field
sage: X = Spec(QQ)
sage: X.base_scheme()
Spectrum of Integer Ring
Return the category to which this scheme belongs. This is the category of all schemes over the base scheme of self.
EXAMPLES:
sage: ProjectiveSpace(4, QQ).category()
Category of schemes over Spectrum of Rational Field
Return the coordinate ring of this scheme, if defined. Otherwise raise a ValueError.
EXAMPLES:
sage: R.<x, y> = QQ[]
sage: I = (x^2 - y^2)*R
sage: X = Spec(R.quotient(I))
sage: X.coordinate_ring()
Quotient of Multivariate Polynomial Ring in x, y over Rational Field by the ideal (x^2 - y^2)
Count points over
on a scheme over
a finite field
.
Note
This is currently only implemented for schemes over prime order finite fields.
EXAMPLES:
sage: P.<x> = PolynomialRing(GF(3))
sage: C = HyperellipticCurve(x^3+x^2+1)
sage: C.count_points(4)
[6, 12, 18, 96]
sage: C.base_extend(GF(9,'a')).count_points(2)
...
NotImplementedError: Point counting only implemented for schemes over prime fields
Return the absolute dimension of this scheme.
EXAMPLES:
sage: R.<x, y> = QQ[]
sage: I = (x^2 - y^2)*R
sage: X = Spec(R.quotient(I))
sage: X.dimension_absolute()
...
NotImplementedError
sage: X.dimension()
...
NotImplementedError
Return the absolute dimension of this scheme.
EXAMPLES:
sage: R.<x, y> = QQ[]
sage: I = (x^2 - y^2)*R
sage: X = Spec(R.quotient(I))
sage: X.dimension_absolute()
...
NotImplementedError
sage: X.dimension()
...
NotImplementedError
Return the relative dimension of this scheme over its base.
EXAMPLES:
sage: R.<x, y> = QQ[]
sage: I = (x^2 - y^2)*R
sage: X = Spec(R.quotient(I))
sage: X.dimension_relative()
...
NotImplementedError
Return the scheme morphism from self to Y defined by x. If x is a scheme, try to determine a natural map to x.
If Y is not given, try to determine Y from context.
EXAMPLES:
sage: P = ProjectiveSpace(ZZ, 3)
sage: P.hom(Spec(ZZ))
Scheme morphism:
From: Projective Space of dimension 3 over Integer Ring
To: Spectrum of Integer Ring
Defn: Structure map
Return the identity morphism of the scheme self.
EXAMPLES:
sage: X = Spec(QQ)
sage: X.identity_morphism()
Scheme endomorphism of Spectrum of Rational Field
Defn: Identity map
Return the set of S-valued points of this scheme.
EXAMPLES:
sage: P = ProjectiveSpace(ZZ, 3)
sage: P.point_homset(ZZ)
Set of Rational Points of Projective Space of dimension 3 over Integer Ring
sage: P.point_homset(QQ)
Set of Rational Points of Projective Space of dimension 3 over Rational Field
sage: P.point_homset(GF(11))
Set of Rational Points of Projective Space of dimension 3 over Finite Field of size 11
Return the set of S-valued points of this scheme.
EXAMPLES:
sage: P = ProjectiveSpace(ZZ, 3)
sage: P.point_homset(ZZ)
Set of Rational Points of Projective Space of dimension 3 over Integer Ring
sage: P.point_homset(QQ)
Set of Rational Points of Projective Space of dimension 3 over Rational Field
sage: P.point_homset(GF(11))
Set of Rational Points of Projective Space of dimension 3 over Finite Field of size 11
Return the structure morphism from the scheme self to its base scheme.
EXAMPLES:
sage: A = AffineSpace(4, QQ)
sage: A.base_morphism()
Scheme morphism:
From: Affine Space of dimension 4 over Rational Field
To: Spectrum of Rational Field
Defn: Structure map
sage: X = Spec(QQ)
sage: X.base_morphism()
Scheme morphism:
From: Spectrum of Rational Field
To: Spectrum of Integer Ring
Defn: Structure map
Return the disjoint union of the schemes self and X.
EXAMPLES:
sage: S = Spec(QQ)
sage: X = AffineSpace(1, QQ)
sage: S.union(X)
...
NotImplementedError
Compute a power series approximation to the zeta function of a scheme over a finite field.
INPUT:
OUTPUT: A power series approximating the zeta function of self
EXAMPLES:
sage: P.<x> = PolynomialRing(GF(3))
sage: C = HyperellipticCurve(x^3+x^2+1)
sage: R.<t> = PowerSeriesRing(Integers())
sage: C.zeta_series(4,t)
1 + 6*t + 24*t^2 + 78*t^3 + 240*t^4 + O(t^5)
sage: (1+2*t+3*t^2)/(1-t)/(1-3*t) + O(t^5)
1 + 6*t + 24*t^2 + 78*t^3 + 240*t^4 + O(t^5)
Note that this function depends on count_points, which is only defined for prime order fields:
sage: C.base_extend(GF(9,'a')).zeta_series(4,t)
...
NotImplementedError: Point counting only implemented for schemes over prime fields
Return True if is an affine scheme.
EXAMPLES:
sage: from sage.schemes.generic.scheme import is_AffineScheme
sage: is_AffineScheme(5)
False
sage: E = Spec(QQ)
sage: is_AffineScheme(E)
True
Return True if is a scheme.
EXAMPLES:
sage: from sage.schemes.generic.scheme import is_Scheme
sage: is_Scheme(5)
False
sage: X = Spec(QQ)
sage: is_Scheme(X)
True