Hi Andrew, On Tue, Dec 04, 2012 at 05:56:31AM -0800, Andrew Mathas wrote: > Good morning! I have been trolling through the manuals trying to > understand how to construct a basis for a hom-space but I keep going > around in circles. Can anyone help me out? > > I have two CombinatorialFreeModules G and H which are modules for some > algebra A. (The algebra A is not implemented in sage, although its action > on G and H is.) The module G is cyclic, generated by z say, so every > homomorphism f:G->H is determined by f(z). The basis of G takes the form > {G(t) = z.psi( t )}, where t runs through a set of tableaux. (In case you > are interested, G and H are Specht modules.) That is, the psi method tells > me how to write G(t)=z*\phi_t so that f(G(t))=f(z).psi(t) as H also has a > psi method. > > I can construct a set of elements {h_1,...,h_d} in H such that the maps > {f_1,....,f_d} determined by f_i(z)=h_i, for 1\le i\le d, is a basis for > Hom_A(G,H). > > My questions are: how do I construct the maps f_i in sage and how do I > tell sage that these maps are a basis of Hom_A(G,H)?
In short: - For constructing the maps, you can use G.module_morphism. Not that this will only take care of linearity w.r.t. the ground ring. You currently have to handle by hand the fact that its a module over A. - The vector space structure on Hom_A(G,H) (and on Hom_K(G,H) for that matter) is not yet implemented for G and H CombinatorialFreeModules, in particular arithmetic on morphisms and such. Note that it is implemented for Hom_K(G,H) for G,H FreeModules. In theory, the category infrastructure should make it easy to implement such homsets, but in practice the infrastructure is lagging behind (you know who to blame ...). In the mean time, I guess the closest you can get it to build some isomorphic vector space, and a map building morphisms from elements of this vector space. 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.