-
-
Notifications
You must be signed in to change notification settings - Fork 674
Closed
Milestone
Description
Sage's Spec
command currently produces a Spec
object that derives from, but is not the same as, an AffineScheme
. The goal of this ticket is
- merge the existing
Spec
withAffineScheme
by moving all existing methods ofSpec
toAffineScheme
; - upgrade
Spec
to a functor fromCommutativeRings
toSchemes
(orSchemes(A)
if a base ring A is specified), returning objects of typeAffineScheme
.
Example of the new functionality:
sage: A.<x,y> = QQ[]
sage: Spec(A)
Spectrum of Multivariate Polynomial Ring in x, y over Rational Field
sage: type(Spec(A))
<class 'sage.schemes.generic.scheme.AffineScheme_with_category'>
sage: B.<t> = QQ[]
sage: f = A.hom((t^2, t^3))
sage: Spec(f)
Affine Scheme morphism:
From: Spectrum of Univariate Polynomial Ring in t over Rational Field
To: Spectrum of Multivariate Polynomial Ring in x, y over Rational Field
Defn: Ring morphism:
From: Multivariate Polynomial Ring in x, y over Rational Field
To: Univariate Polynomial Ring in t over Rational Field
Defn: x |--> t^2
y |--> t^3
Two small user-visible changes had to be made to accommodate the new situation:
- If S = Spec(A) is an affine scheme, then the syntax
S(a_1, ..., a_n)
to construct the topological point of S defined by the prime ideal P = (a1, ..., an) of A is no longer supported. The syntaxS(A.ideal(a_1, ..., a_n))
now has to be used instead. This is because it conflicts with the much more useful application of this syntax to construct the point with coordinates (a1, ..., an) if S is (a subscheme of) an affine space An. - Given S = Spec(A) and another scheme X, the result of
X(A)
is the same as before (a point homset), butX(S)
, which used to be identical to this, now returns the standard scheme homset. To get the point homset, one now has to typeX(A)
orX(S.coordinate_ring())
. This seems the "principle of least surprise" convention to me, and it is consistent with the fact thatX.point_homset()
only accepts rings, not affine schemes.
More improvements to affine schemes are made in #7946.
Depends on #15990
Depends on #16156
Depends on #16680
Component: algebraic geometry
Keywords: Spec functor affine scheme
Author: Peter Bruin
Branch/Commit: 185b49c
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/16158