parent) |
echelon_form,
elementary_divisors,
kernel,
rank,
smith_form
Further documentation:
[include_zero_rows=True]) |
Return the echelon form of this matrix over the integers.
sage: A = MatrixSpace(IntegerRing(),2)([1,2,3,4]) sage: A.echelon_form() [1 0] [0 2]
sage: A = MatrixSpace(IntegerRing(),5)(range(25)) sage: A.echelon_form() [ 5 0 -5 -10 -15] [ 0 1 2 3 4] [ 0 0 0 0 0] [ 0 0 0 0 0] [ 0 0 0 0 0]
) |
Return the elementary divisors of self, in order.
The elementary divisors are the invariants of the finite abelian group that is the cokernel of this matrix. They are ordered in reverse by divisibility.
INPUT: matrix OUTPUT: list of int's
sage: A = MatrixSpace(IntegerRing(), 3)(range(9)) sage: A.elementary_divisors() [0, 3, 1]
SEE ALSO: smith_form
[LLL=False]) |
Return the kernel of this matrix, as a module over the integers.
INPUT: LLL -- bool (default: False); if True the basis is an LLL reduced basis; otherwise, it is an echelon basis.
sage: M = MatrixSpace(IntegerRing(),4,2)(range(8)) sage: M.kernel() Free module of degree 4 and rank 2 over Integer Ring Echelon basis matrix: [ 1 0 -3 2] [ 0 1 -2 1]
) |
Return the rank of self, which is the rank of the space spanned by the rows of self.
[transformation=False]) |
Returns matrices S, U, and V such that S = U*self*V, and S is in Smith normal form. Thus S is diagonal with diagonal entries the ordered elementary divisors of S.
The elementary divisors are the invariants of the finite abelian group that is the cokernel of this matrix. They are ordered in reverse by divisibility.
sage: A = MatrixSpace(IntegerRing(), 3)(range(9)) sage: D, U, V = A.smith_form() sage: D [0 0 0] [0 3 0] [0 0 1] sage: U [-1 2 -1] [ 0 -1 1] [ 0 1 0] sage: V [ 1 4 -1] [-2 -3 1] [ 1 0 0] sage: U*A*V [0 0 0] [0 3 0] [0 0 1]
SEE ALSO: elementary_divisors
See About this document... for information on suggesting changes.