> - Matrices with rows and columns indexed by whatever objects > I have a (very) rough prototype for this as it is one of the things that I need. Rather than matrices, however, I am thinking of making the underlying object just an array/table as for my applications the full matrix is often not known and more entries are added as the calculations proceed whereas matrices are immutable. Perhaps I should finally learn about these cloneable arrays...
> > - Morphisms between two finite dimensional free modules G and H (using the > above) > with arithmetic, ... > For what I am doing at the moment the following would be useful: - MorphismOfCombinatorialFreeModule - HomSpaceWthBasis - MorphismFromCyclicModule and graded versions of all of the above. I mainly care about (graded) homs between CombinatorialFreeModules and i f is such a hom, and t indexes a basis element of G then I'd like to have f(t)=f(G(t)). I have a hacked version of this, combining the three "categories" above, for my modules, without that many features. I'll have make this palatable for human consumption before I release this code:) > I.e. the analogue of sage.modules.matrix_morphism.MatrixMorphism. > > - A parent for those. > > I.e the analogue of sage.modules.free_module_homspace.HomSpace > > What would be missing would be the shortcuts so that we could just do > Hom(G,H), as well as generic methods that could be shared between. > I think that I still don't really undestand what Hom(G,H) represents inside sage. Is it simply supposed to be the parent for all homs from G to H? Typically, it seems to me that Hom(G,H) doesn't -- and, in fact, can't -- do very much: if G and H are (free) modules then Hom(G,H) is just a bunch of matrices, which is easy. But if G and H have any extra structure which these homs should preserve then there often won't even be an algorithm for computing Hom(G,H), and in many cases there won't even be a practical algorithm for determining when a linear map belongs to Hom(G,H). So what is Hom(G,H) suppose to do? Andrew -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To view this discussion on the web visit https://groups.google.com/d/msg/sage-combinat-devel/-/29S9CF9anMwJ. 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.