Dear William, dear David,
Very few categories are left unreviewed. Please comment shortly on the
points below, or set a positive review!
Cheers,
Nicolas
> On Sat, Oct 24, 2009 at 12:04:45AM +0200, Nicolas Thiéry wrote:
> > On Fri, Oct 23, 2009 at 05:23:15PM +0200, David R. Kohel wrote:
> > > I put of positive review of most of the assigned category files.
> > I am now having a look at your comments on the wiki.
>
> David: I let you edit the wiki for those categories for which you are
> satisfied with the answers belows.
>
> > About _call_ in NumberFields: What is the meaning of this coercion?:
> >
> > def _call_(self, x):
> > r"""
> > Constructs an object in this category from the data in ``x``,
> > or throws a TypeError.
> >
> > EXAMPLES::
> >
> > sage: C = NumberFields()
> >
> > sage: C(QQ)
> > Rational Field
> >
> > sage: C(NumberField(x^2+1,'a'))
> > Number Field in a with defining polynomial x^2 + 1
> >
> > sage: C(UnitGroup(NumberField(x^2+1,'a'))) # indirect
> > doctest
> > Number Field in a with defining polynomial x^2 + 1
> >
> > sage: C(ZZ)
> > Traceback (most recent call last):
> > ...
> > TypeError: unable to canonically associate a number field to
> > Integer Ring
> > """
> > try:
> > return x.number_field()
> > except AttributeError:
> > raise TypeError, "unable to canonically associate a number
> > field to %s"%x
> >
> > Note: A unit group is not a number field (nor a field). It should coerce
> > into
> > a category of groups.
> >
> > By this logic one might associate to the integers ZZ the number
> > field QQ, but I don't see why C(X) should try to find some functor
> > which is not a canonical identity on objects.
>
> That's the original implementation of NumberFields._call_. The
> category patches just adds a couple examples to the documentation to
> show the consequences of this logic. Now it's up to you guys to decide
> whether this logic is desirable or not. I vote for leaving it as is
> right now since it does not change the logic, and then up to you to
> update it to whatever you want once the category code is in Sage.
>
>
> > pointed_sets: the __call__ function is commented out -- should this
> > be a not-implemented error?
>
> Not needed: with the default implementation of __call__
> PointedSets()(P) returns P if P is readily in this category, and
> raises a not-implemented error otherwise.
>
> > sets_with_partial_maps: the call function is commented out -- same
> > comment as above; does this call function fall through to the call
> > function on Sets()?
>
> I am not sure I see exactly what you mean. Is there an inconvenient to
> the default implementation mentioned above?
>
>
> > rings - David K: Can the TODO be implemented Rings() == Algebras(ZZ)?
>
> Not with the current infrastructure, but as stated on the linked page
> in the wiki, that should be doable in the future with some more
> lazyness.
>
> > hecke_modules (positive review: this should probably be revisited --
> > notes a hecke algebra or ring category to be useful; this is
> > probably not currently used.)
> >
> > modular_abelian_varieties (positive review): ask William Stein to
> > confirm: why there is no abelian varieties category and is that a
> > desirable subcategory
> >
> > schemes (positive review): note that someone might want to revisit
> > this in the future and come up with reasonable subcategories
> > (abelian varieties, etc)
>
> William: please have a look at some point, and add relevant TODO's in
> http://sagetrac.org/sage_trac/wiki/CategoriesRoadMap for later
> evolutions of categories.
--
Nicolas M. Thiéry "Isil" <[email protected]>
http://Nicolas.Thiery.name/
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---