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

Reply via email to