On Jan 8, 8:31 am, Vegard Lima <vegard.l...@gmail.com> wrote: > sage: C = random_matrix(ZZ, 10, 80, distribution='uniform') > sage: C.ncols() - (C.right_kernel().dimension() + C.rank())
More specifically: sage: C.right_kernel() Free module of degree 80 and rank 80 over Integer Ring Echelon basis matrix: 80 x 80 dense matrix over Rational Field sage: C.right_kernel_matrix() 80 x 80 dense matrix over Integer Ring sage: C.right_kernel_matrix().rank() 70 sage: C._right_kernel_matrix_over_domain() ('computed-smith-form', 70 x 80 dense matrix over Integer Ring) Note a few things: - The right kernel is a Z-module with a basis matrix over Q. - The right kernel matrix has extra rows - the last routine does compute the right thing. A cursory reading of the code makes me believe that right_kernel would ultimately rely on _right_kernel_matrix_over_domain, but evidently it doesn't. -- 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 For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org