#15801: Categories over a base ring category
-------------------------------+------------------------
       Reporter:  nthiery      |        Owner:
           Type:  enhancement  |       Status:  new
       Priority:  major        |    Milestone:  sage-6.2
      Component:  categories   |   Resolution:
       Keywords:               |    Merged in:
        Authors:               |    Reviewers:
Report Upstream:  N/A          |  Work issues:
         Branch:               |       Commit:
   Dependencies:               |     Stopgaps:
-------------------------------+------------------------

Comment (by nthiery):

 Replying to [comment:1 SimonKing]:
 > So, the strategy would be this: The current "Category over base ring"
 should accept as input no a ring, but a subcategory of the category of
 rings.

 Or more precisely, it would accept both kinds of input.

 > A polynomial ring should be initialised in the category of "commutative
 algebras over Category of quotient fields" (say), and should of course
 have its own reference to the base ring (say, the rational field).

 Yup. And later in the category of "polynomial rings over a quotient
 field."

 > Since the parent and element classes only depend on the category of the
 base ring (by the current implementation), a category refinement would
 probably not be needed.

 Yes.

 > But *if* needed, it would amount to take the join with the category
 "`FixedBaseField(QQ)`, perhaps with super-categories
 "`FixedBaseRing(QQ)`".

 Yes, though I would write it as taking the join with Algebras(QQ).

 > Additional technical problem: We not only have base rings, but (for
 bimodules) left and right base rings. Should this be reflected in the
 "`FixedBaseBla`" categories as well?

 We will want to accept both:
 {{{
     Bimodules(Fields(), Fields())
 }}}
 and
 {{{
     Bimodules(QQ, QQ)
 }}}

 In a first step, I would not bother about mixed calls likes
 {{{Bimodules(QQ, Fields)}}}/

 > And another complication: We want to have categories expressing the fact
 that a field (not just a ring) is acting on the objects, and then want to
 compute the join. Is there an easy programmatic way to let an error be
 raised when someone tries to compute the join "`Algebras(Fields()) &
 FixedBaseRing(ZZ)`"?

 I don't see a trivial way to do it at this point. It certainly would
 be a nice feature to bark upon such constructions, but not having it
 is not really worst than the current situation where we have:
 {{{
 sage: Algebras(QQ) & Algebras(GF(3))
 Join of Category of algebras over Finite Field of size 3 and Category of
 algebras over Rational Field
 }}}

 So this issue should not prevent us to proceed even if we don't find a
 good way out.

--
Ticket URL: <http://trac.sagemath.org/ticket/15801#comment:2>
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/groups/opt_out.

Reply via email to