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" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---