sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.33k stars 453 forks source link

Parent methods support_section, coordinate_section for ModulesWithBasis #34487

Open mkoeppe opened 2 years ago

mkoeppe commented 2 years ago

This returns a partial module morphism from a free module with basis to an ambient free module, indexed according to the support order.

Calling the morphism is like calling the element method IndexedFreeModuleElement._vector_, but it would also work with elements of infinite-dimensional modules because an appropriate finite-dimensional submodule will be used.

This generalizes the interaction of _dense_free_module, get_order, and _vector_ in CubicHeckeAlgebra; and it makes the morphism used by _vector_ explicit.

Also for ModulesWithBasis.FiniteDimensional we can generalize the following methods of FreeModule_generic (from sage.modules): coordinates, coordinate_vector, coordinate_module.

Depends on #33431

CC: @tscrim @soehms

Component: linear algebra

Issue created by migration from https://trac.sagemath.org/ticket/34487

mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,2 +1,6 @@
 This returns a partial module morphism from a free module with basis to an ambient free module, indexed according to the support order.

+Calling the morphism is like calling the element method `IndexedFreeModuleElement._vector_`, but it would also work with elements of infinite-dimensional modules because an appropriate finite-dimensional submodule will be used.
+
+This generalizes the interaction of `_dense_free_module`, `get_order`, and `_vector_` in `CubicHeckeAlgebra`; and it makes the morphism used by `_vector_` explicit.
+
mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -4,3 +4,6 @@

 This generalizes the interaction of `_dense_free_module`, `get_order`, and `_vector_` in `CubicHeckeAlgebra`; and it makes the morphism used by `_vector_` explicit.

+Also for `ModulesWithBasis.FiniteDimensional` we can generalize the following methods of `FreeModule_generic` (from `sage.modules`):
+`coordinates`, `coordinate_vector`, `coordinate_module`.
+
mkoeppe commented 2 years ago
comment:4

Probably better to actually make this support_submodule, coordinate_submodule, with the morphisms just exposed as the lift/retract maps of the constructed submodule.

mkoeppe commented 2 years ago

Dependencies: #33431