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.

Reply via email to