Right now I can do sage: V = ZZ^2 sage: D = V.direct_sum(V) sage: D Free module of degree 4 and rank 4 over Integer Ring Echelon basis matrix: [1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]
But the result has forgotten that it is a direct sum. Of a direct sum I expect, that it has a projection and a co-projection. (this is how it is done in gap) So I want to be able to type sage: D.projection(0) sage: D.coprojection(0) Then there could also be appropriate coercions. The same holds for other direct sums in groups, vector spaces .... Or for other constructions like a direct product, inverse limit ... Maybe this is something for the category framework? How would one implement it? -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/06759b84-6026-47f2-911f-5de2503c3e1a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.