Open mkoeppe opened 2 weeks ago
Documentation preview for this PR (built with commit 7ceee2eded1dd3f692b34f028ba898eeafa14721; changes) is ready! :tada: This preview will update shortly after each push to this PR.
This can only be done reliably when the domain is a finite dimensional module, otherwise you run into the obvious problem with infinite matrices. Likewise dense_coefficient_list()
should be for elements in that category as well (unless you want to have them be arbitrary-but-finite lists of coefficients reflecting the basis order).
The idea here is that in the infinite-dimensional case, order
will be a required argument (a finite sequence)
dense_coefficient_list
is generalized here from the existing method for the finite dimensional case.
We extend the technique of "support orders" for infinite-dimensional free modules to their morphisms. The new helper method
_matrix_side_bases_orders
constructs a matrix suitable for throwing some linear algebra on the modules. (This goes in a similar direction as https://github.com/sagemath/sage/issues/34487.)As an immediate application of this method, we are able to move some methods (
is_injective
,is_surjective
,is_bijective
,nullity
,rank
) for the finite-dimensional case fromMatrixMorphism
to the category because we are sidestepping an issue of the existingmatrix
method:37877
:memo: Checklist
:hourglass: Dependencies