Opened 7 months ago
Closed 7 months ago
#30250 closed enhancement (fixed)
FiniteRankFreeModule: Simplify unique representation code for dependent modules
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.2 |
Component: | linear algebra | Keywords: | |
Cc: | egourgoulhon, tscrim, gh-mjungmath | Merged in: | |
Authors: | Matthias Koeppe | Reviewers: | Eric Gourgoulhon |
Report Upstream: | N/A | Work issues: | |
Branch: | de35db3 (Commits, GitHub, GitLab) | Commit: | de35db3bf1378d5505503f08b0887ecd4defc7ff |
Dependencies: | Stopgaps: |
Description
A FiniteRankFreeModule
instance keeps track of all dependent modules in dictionaries ._tensor_modules
, ._exterior_powers
, ._dual_exterior_powers
.
This is done for two purposes:
- caching / unique representation of the dependent modules
- for updating all dependent modules in
FreeModuleBasis.__init__
In this ticket, we give these two purposes two separate implementation mechanisms.
This will make it easier to implement new dependent modules, such as tensor products of several modules.
A set ._all_modules
will now keep track of the dependent modules.
Change History (5)
comment:1 Changed 7 months ago by
- Branch set to u/mkoeppe/finiterankfreemodule__simplify_unique_representation_code_for_dependent_modules
comment:2 Changed 7 months ago by
- Commit set to de35db3bf1378d5505503f08b0887ecd4defc7ff
- Status changed from new to needs_review
comment:3 Changed 7 months ago by
- Reviewers set to Eric Gourgoulhon
- Status changed from needs_review to positive_review
LGTM. Thanks!
comment:4 Changed 7 months ago by
Thanks!
comment:5 Changed 7 months ago by
- Branch changed from u/mkoeppe/finiterankfreemodule__simplify_unique_representation_code_for_dependent_modules to de35db3bf1378d5505503f08b0887ecd4defc7ff
- Resolution set to fixed
- Status changed from positive_review to closed
Note: See
TracTickets for help on using
tickets.
New commits:
TensorFreeModule.__init__: Remove duplicate registration of self in the base module, uniqueness check
FreeModuleBasis.__init__: Update all modules in the set fmodule._all_modules