-
-
Notifications
You must be signed in to change notification settings - Fork 654
Description
The doc string for the elementary_divisors
method in matrix_integer_dense.pyx says
The elementary divisors are the invariants of the finite
abelian group that is the cokernel of this matrix.
The word "cokernel" needs to be expanded upon. I think, from trial and error, that this is computing the cokernel of left multiplication by the matrix, and this needs to be clearly stated, especially given other left/right issues with matrices in Sage. (See #1587, for example.)
Furthermore, give at least one example where the matrix isn't square so we can see a bit more clearly on which side the matrix is acting, say a simple matrix like [[3, 0, 0], [0, 0, 0]]. Maybe even include both this and its transpose.
(As an editorial comment, I find it really annoying that methods like this are for left multiplication, while methods like restrict_codomain
are for right multiplication, so if I want to use them both, I have to take transposes way too many times.)
Component: linear algebra
Keywords: elementary divisor
Issue created by migration from https://trac.sagemath.org/ticket/5009