On Wed, Dec 05, 2012 at 10:45:13AM -0800, Travis Scrimshaw wrote: > Hey Andrew, > It sounds more like you want to use a spare matrix (or even just a > dictionary with a tuple as the key) and fill in entries as you compute > them.
A sparse matrix would probably not work, as you can't make difference between a coefficient that has been computed and is zero, and a not computed coefficient. I guess we need both; morphism implemented as matrices, and morphisms implemented as "lazy matrices", and we should share as much as possible between the two. Andrew: please keep up implementing such things! Don't worrying too much about the design; just make it as straightforward as possible. When the infrastructure will be in place, it should be easy to cleanup the things before getting them into Sage. Btw: Hom(F, G, C) models the set of all morphisms from F to G in the category C. By default, C is the meet of the categories of F and G. Of course, for most categories one can't do much with that. But there certainly are categories where we can or could and would want to: - Hom(V, W, VectorSpaces) - Hom(V, W, A-modules) - Hom(F, G, Groups) Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To post to this group, send email to sage-combinat-devel@googlegroups.com. To unsubscribe from this group, send email to sage-combinat-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.