On Monday, December 3, 2012 5:09:40 PM UTC-8, Andrew Mathas wrote: > > Hi John, > > Thanks for the reply, but you have my problem "upside down" as I don't > need to restrict from the ambient space to the subspace but rather to > extend from the subspace to the ambient space. > > For example, I could have: > > sage: V > Free module of degree 4 and rank 3 over Integer Ring > User basis matrix: > [0 1 2 3] > [2 3 1 4] > [1 3 2 1] > sage: mat=matrix([[1,2,3],[2,1,4],[3,3,7]]); mat.kernel() > Free module of degree 3 and rank 1 over Integer Ring > Echelon basis matrix: > [ 1 1 -1] > > The problem that is V is isomorphic to Z^3, but it is represented as a > subspace of Z^4, whereas the kernel is a subspace of Z^3. As I mentioned, > > So, when you're computing the kernel, you should tell the system that you want a kernel of a homomorphism on V; not on abstract Z^3:
sage: A=ZZ^4 sage: V=A.submodule_with_basis([[0,1,2,3],[2,3,1,4],[1,3,2,1]]) sage: phi=V.hom([(ZZ^3)(v) for v in [[1,2,3],[2,1,4],[3,3,7]]]) sage: phi.kernel() Free module of degree 4 and rank 1 over Integer Ring Echelon basis matrix: [1 1 1 6] -- You received this message because you are subscribed to the Google Groups "sage-support" group. To post to this group, send email to sage-support@googlegroups.com. To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support?hl=en.