#7946: Spec(...) does not specify its category
--------------------------------------+--------------------------
Reporter: nthiery | Owner: AlexGhitza
Type: defect | Status: new
Priority: major | Milestone: sage-6.2
Component: algebraic geometry | Resolution:
Keywords: | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
--------------------------------------+--------------------------
Comment (by pbruin):
What is `Spec` intended to mean in the first place? The definition
currently starts with
{{{
class Spec(AffineScheme):
....
}}}
This suggests that `Spec` is a special kind of affine scheme. But aren't
"the spectrum of a ring" and "an affine scheme" exactly the same thing?
This code probably predates the category framework. A more modern design
would perhaps be something like the following:
- define the category `AffineSchemes` (or `Schemes().Affine()`) of affine
schemes;
- designate `AffineScheme` as the "canonical" type for objects in this
category, and move functionality from `Spec` to `AffineScheme` as
appropriate;
- convert `Spec` into a functor from `CommutativeRings` to
`AffineSchemes`.
(Mathematically speaking, Spec [as a functor from commutative rings to
schemes, or even locally ringed spaces] can be defined as the adjoint
functor of the global sections functor ''X'' -> ''O,,X,,''(''X'') from
schemes to commutative rings, and this gives an anti-equivalence of
categories from commutative rings to affine schemes; I wonder if this
could somehow be formalised in Sage's category framework, but that's
another story...)
--
Ticket URL: <http://trac.sagemath.org/ticket/7946#comment:6>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.