Opened 4 months ago

Last modified 3 months ago

#30252 needs_work enhancement

Make TensorProducts of finite-dimensional modules / vector spaces finite-dimensional

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.3
Component: categories Keywords:
Cc: tscrim Merged in:
Authors: Matthias Koeppe Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/make_tensorproducts_of_finite_dimensional_modules___vector_spaces_finite_dimensional (Commits) Commit: 80c23265cc2a1e91def25f99ded4e0763489954d
Dependencies: Stopgaps:

Description

(from #30169)

Change History (13)

comment:1 Changed 4 months ago by mkoeppe

  • Branch set to u/mkoeppe/make_tensorproducts_of_finite_dimensional_modules___vector_spaces_finite_dimensional

comment:2 Changed 4 months ago by git

  • Commit set to e630c3216638d48049c8111da37adddc215d0e4b

Branch pushed to git repo; I updated commit sha1. New commits:

e630c32Make TensorProducts of finite-dimensional vector spaces finite-dimensional

comment:3 Changed 4 months ago by git

  • Commit changed from e630c3216638d48049c8111da37adddc215d0e4b to c19d0573920c58127a5d8015199271d023fde211

Branch pushed to git repo; I updated commit sha1. New commits:

c19d057Same for vector spaces with basis

comment:4 Changed 4 months ago by git

  • Commit changed from c19d0573920c58127a5d8015199271d023fde211 to cd1a2aa84f14347aacdc9771130f9a2c70b1a02a

Branch pushed to git repo; I updated commit sha1. New commits:

cd1a2aaDoctest updates

comment:5 Changed 4 months ago by git

  • Commit changed from cd1a2aa84f14347aacdc9771130f9a2c70b1a02a to 80c23265cc2a1e91def25f99ded4e0763489954d

Branch pushed to git repo; I updated commit sha1. New commits:

b51fd6fAgain for finite dimensional modules with basis
80c2326Doctest updates

comment:6 Changed 4 months ago by mkoeppe

This seems to work, but I guess I am left wondering whether the same cannot be achieved with less cut&paste - perhaps using SubcategoryMethods or something like this?

comment:7 Changed 4 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Status changed from new to needs_review

comment:8 follow-up: Changed 4 months ago by tscrim

  • Reviewers set to Travis Scrimshaw

The problem is that you might have a subcategory C of modules whose tensor products are not also an object in C. Probably the better way to do this is subclass TensorProductsCategory since this is such a common thing. You can either do that here or postpone that to a later ticket.

One doctest to fix:

File "src/sage/tensor/modules/tensor_free_module.py", line 128, in sage.tensor.modules.tensor_free_module.TensorFreeModule
Failed example:
    T.category()
Expected:
    Category of tensor products of finite dimensional modules over Integer Ring
Got:
    Category of finite dimensional modules over Integer Ring

One done, you can set a positive review on my behalf.

comment:9 in reply to: ↑ 8 ; follow-up: Changed 4 months ago by mkoeppe

Replying to tscrim:

Probably the better way to do this is subclass TensorProductsCategory since this is such a common thing.

... like FiniteDimensionalTensorProductsCategory, or what do you have in mind there?

comment:10 in reply to: ↑ 9 Changed 4 months ago by tscrim

Replying to mkoeppe:

Replying to tscrim:

Probably the better way to do this is subclass TensorProductsCategory since this is such a common thing.

... like FiniteDimensionalTensorProductsCategory, or what do you have in mind there?

More like TensorProductsAsBaseCategory or TensorProductsCategoryWithBaseCategory, which has the base category as part of its default_super_categories. Or perhaps something like this as a functorial construction category inbetween the covariant and covariant regressive?

comment:11 Changed 4 months ago by mkoeppe

Ah I see, let me think about it.

comment:12 Changed 4 months ago by mkoeppe

  • Status changed from needs_review to needs_work

comment:13 Changed 3 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3
Note: See TracTickets for help on using tickets.