I thought the question was if abelian categories are required to have finite direct sums. Categories which satisfy the requirements of an abelian category except for the existence of direct sums are sometimes called "pre-abelian" I think.
An example is given by abelian groups with at most N elements. Regards, Michel On May 19, 4:50 pm, John H Palmieri <jhpalmier...@gmail.com> wrote: > On May 19, 2:25 am, "Nicolas M. Thiery" <nicolas.thi...@u-psud.fr> > wrote: > > > > > Hi John, > > > On Mon, May 18, 2009 at 09:25:56PM -0700, John H Palmieri wrote: > > > > On May 18, 8:43 pm, wkehowski <wkehow...@cox.net> wrote: > > > > What about matrix rings over ZZ? > > > > No, but they're not supposed to be. > > > > > On May 18, 7:03 pm, John H Palmieri <jhpalmier...@gmail.com> wrote: > > > > > > On May 18, 2:44 pm, benjamin antieau <d.ben.anti...@gmail.com> wrote: > > > > > > > Oh, and this is also the case over other base rings, like over > > > > > > GF(p). > > > > > > > On May 18, 2:43 pm, benjamin antieau <d.ben.anti...@gmail.com> > > > > > > wrote: > > > > > > > > I noticed the following incorrect behavior. > > > > > > > > sage: > > > > > > > C=simplicial_complexes.ChessboardComplex(3,3).chain_complex() > > > > > > > sage: C.category() > > > > > > > Category of chain complexes over Integer Ring > > > > > > > sage: A=C.category() > > > > > > > sage: A.is_abelian() > > > > > > > False > > > > > > > > As far as I can tell ChainComplexes inherits is_abelian from > > > > > > > AbelianCategory, so I don't know what the problem is. > > > > > > > > class ChainComplexes(Category_module): > > > > > > > class Category_module(Category_over_base_ring, AbelianCategory): > > > > > > > class AbelianCategory: > > > > > > > def is_abelian(self): > > > > > > > return True > > > > > > The problem is not just chain complexes: > > > > > > sage: RingModules(ZZ).is_abelian() > > > > > False > > > > See <http://trac.sagemath.org/sage_trac/ticket/6081> for a patch. > > > To avoid a conflict, I will integrate this into the category patch. > > > Now, I'd like to make sure we have the samething in mind: currently in > > my patch an AbelianCategory is a category with a direct sum operation > > on the objects. Does this match with what you have in mind? Which > > categories should be abelian? > > A category in which Hom sets form abelian groups and in which you have > finite direct sums is an "additive category". An "abelian category" > is one in which, loosely speaking, you have well-behaved short exact > sequences: every monomorphism fits into a short exact sequence, and > every epimorphism fits into a short exact sequence. Wikipedia has a > reasonable definition, I think. > > The category of modules over any ring is abelian (but not just the > category of free modules, as someone has pointed out in > category_types.py, unless the ring is a field). > > > Note about the patch: to avoid dependencies on the inheritance order > > between the bases, wouldn't it be more natural to have the default > > definition of is_abelian in Category? > > That sounds like a good idea. (Although should the default definition > be "NotImplemented" or "False"? I'm not sure.) > > John > > > Best, > > Nicolas > > -- > > Nicolas M. Thiéry "Isil" <nthi...@users.sf.net>http://Nicolas.Thiery.name/ > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---