On Jun 3, 2008, at 4:50 PM, Bill Page wrote: > > On Tue, Jun 3, 2008 at 5:48 PM, William Stein wrote: >> >> On Tue, Jun 3, 2008 at 2:45 PM, Bill Page wrote: >>> >>> On Tue, Jun 3, 2008 at 4:48 PM, Robert Bradshaw wrote: >>>> >>>> On Jun 3, 2008, at 11:17 AM, Gary Furnish wrote: >>>> ... >>>>> I consider homsets to be a gigantic flaw in coercion that >>>>> absolutely have to be fixed for me to consider using more >>>>> of the coercion system in symbolics. >>>> >>>> Ironically, other people see it as a plus that coercion has >>>> been given a more categorical founding. >>>> >>> >>> Absolutely! :-) >>> >>> BTW, where can I read more about these categorical concepts >>> that are currently built-in or planned for Sage? >>> >> >> This is very relevant: >> >> http://wiki.sagemath.org/days7/coercion >> > > Thanks for the reference. No mention of "homsets" here. :-( Only one > mention in /days7/coercion/todo ... > > But reading this makes me feel a little, well ah, "light-headed". At > best it seems like something very hastily grafted-on to the design. Is > this part of Sage about which you would like comments and more > discussion? Or is there more information somewhere that I am missing?
The discussion on that page is (unfortunately) best understood by someone who already is fairly familiar with Sage. It will also probably be re-written/cleaned up now that it has been implemented... > I am afraid that there is not much here that category theorists are > likely to find interesting. I have many many questions, but mostly I > wonder what the overall intention of this construction really is in > Sage? Is it only relevant to coercion? The interesting coercion stuff (in my opinion) was all done last June, and much of the work outlined here is trying to unify the API and make things more consistent across all of Sage (though there is more than just that). > How does it related to the > concept of "parent" - which seems equally ill-defined to me? A Parent is an Object in the category of Sets, though in the context of coercion one usually assumes one can some kind of arithmetic (binary operations) on their elements. > What is > the relationship to inheritance in Python? Is the intention to give > all mathematical objects defined in Sage some categorical structure? > What about categories themselves as mathematical structures - e.g. a > category is a kind of directed graph with additional structure? A big push of this model is to divorce the relationship between inheritance (which primarily has to do with implementation) and mathematical categorization. This will allow categories to play a larger role (though work in that area can be done after the merge as it is not disruptive). For example, Z/nZ[x] is implemented the same whether or not p is a prime, but the category it lives in (and hence the methods one can do on it) vary. As another example, matrix spaces are algebras iff they are square, but one doesn't want to have a special class for square matrices over <insert optimized type here>. Generic algorithms can be put on the categories such that if g is in category C, and C has a method x, then g.x() will work. - Robert --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---