Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Put tensor modules of FiniteRankFreeModule in Modules().TensorProducts() #34448

Closed
mkoeppe opened this issue Aug 28, 2022 · 41 comments
Closed

Put tensor modules of FiniteRankFreeModule in Modules().TensorProducts() #34448

mkoeppe opened this issue Aug 28, 2022 · 41 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Aug 28, 2022

... and add the method tensor_factors (#34393)

also add construction functors for tensor modules, extending #30235.

Depends on #34424
Depends on #34393
Depends on #31276
Depends on #30235
Depends on #30229
Depends on #30241
Depends on #34501

CC: @tscrim @egourgoulhon @fchapoton

Component: categories

Author: Matthias Koeppe

Branch/Commit: e10f9cf

Reviewer: Eric Gourgoulhon

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

@mkoeppe mkoeppe added this to the sage-9.7 milestone Aug 28, 2022
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 28, 2022

Changed dependencies from #34424, #34393, #31276 to #34424, #34393, #31276, #30235

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 29, 2022

Changed dependencies from #34424, #34393, #31276, #30235 to #34424, #34393, #31276, #30235, #30229

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 29, 2022

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 29, 2022

Last 10 new commits:

e31bdacTensorFreeModule._an_element_: Pass parent to element class
e7d5e77TensorFreeModule._an_element_: Use element constructor
18d3dbeTensorFreeSubmodule_comp._is_symmetry_coarsening_of: Update example
3f1c33dTensorFreeSubmoduleBasis_comp.__init__: Add doctest
9378a78src/sage/tensor/modules/finite_rank_free_module.py: Update doctest output
66874a9src/sage/sets/family.py: Add doctest
877d17eMerge #30300
cb43784Merge #30229
9ce4fedFiniteRankFreeModule, VectorFieldModule, VectorFieldFreeModule: Method tensor has to double as the functorial construction
87c9392TensorFreeModule: Use Modules().TensorProducts() except for type (0,1)

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 29, 2022

Commit: 87c9392

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Aug 29, 2022

Author: Matthias Koeppe

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 29, 2022

Changed commit from 87c9392 to d92122d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 29, 2022

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

d92122dsrc/sage/tensor/modules/tensor_free_submodule.py: Add comment

@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 2, 2022

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

39bfe8dMerge #34451
bec2f65CompWithSym._canonicalize_sym_antisym: Refactor, fix index validation, add tests
66009e7src/sage/tensor/modules/comp.py: Fix docstring
64e3c1dMerge #34451
7474abbFiniteRankFreeModule_abstract.tensor_product: Handle submodules with symmetries
ed3c8d9src/sage/tensor/modules/finite_rank_free_module.py (FiniteRankFreeModule_abstract.is_submodule): Fix typo in doctest
fd89892src/sage/tensor/modules/tensor_free_submodule[_basis].py, finite_rank_free_module.py: Update AUTHORS
644933asrc/sage/tensor/modules/finite_rank_free_module.py: Update copyright according to git blame -w --date=format:%Y FILE | sort -k2
45bf6f3FiniteRankFreeModule_abstract.tensor_product: Add comment
64a6ca3Merge #30229

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 2, 2022

Changed commit from d92122d to 64a6ca3

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 2, 2022

Changed commit from 64a6ca3 to 76476a0

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 2, 2022

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

76476a0VectorField[Free]Module.tensor_module: Accept trivial sym, antisym parameters

@mkoeppe

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 4, 2022

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

dd6cc0eMerge branch 'u/chapoton/tensor_components' in 9.7.rc0
b81dbf0fix doctest
f1c7aabMerge #34393
803f7e4Make FiniteRankFreeModule.tensor_module(0, 1) return the dual (#34474)
0648daaMerge #34474
fc66ad1FiniteRankFreeModule.dual_symmetric_power: Update for changes in #34474
457572bMerge #30229
8db6cc5TensorFreeModule.tensor_factors: Use dual

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 4, 2022

Changed commit from 76476a0 to 8db6cc5

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 6, 2022

Changed dependencies from #34424, #34393, #31276, #30235, #30229 to #34424, #34393, #31276, #30235, #30229, #30241

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 6, 2022

Changed dependencies from #34424, #34393, #31276, #30235, #30229, #30241 to #34424, #34393, #31276, #30235, #30229, #30241, #34501

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 6, 2022

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

a1b32c0Merge #34474
94f59b8FiniteRankDualFreeModule: New, remove special case from ExtPowerDualFreeModule
37e41b9FiniteRankDualFreeModule.tensor_type: New; add tensor_product doctests
5044024FiniteRankDualFreeModule: Doc fixes
84d7b5eExtPower[Dual]FreeModule, FiniteRankDualFreeModule: Add docstring to construction method
050fbc6Merge #30241
b9b9debsrc/sage/tensor/modules/tensor_free_module.py: Update doctest output
b392efaFiniteRankFreeModule_abstract.tensor: New

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 6, 2022

Changed commit from 8db6cc5 to b392efa

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 7, 2022

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

b5c666cMerge #30241
0d2539aVectorFieldModule: Faster fast path for tensor_module, exterior_power, dual_exterior_power
f06fc5eMerge #34486
c7428e2src/sage/manifolds/differentiable/diff_form_module.py (VectorFieldDualFreeModule): New
8bfb9ffVectorFieldFreeModule.tensor_module: For (0,1), use the dual
af96b06src/sage/manifolds/differentiable/diff_form_module.py: Update doctest output
bc99257src/sage/manifolds/differentiable/diff_form_module.py: Fix doctests
0155026src/sage/manifolds/differentiable/diff_form_module.py: Remove some doctests on coercions
7f66f96Merge #34501

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 7, 2022

Changed commit from b392efa to 7f66f96

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 7, 2022

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

620df16src/sage/tensor/modules/tensor_free_submodule.py: Remove tensor_factors, add doctest for construction

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 7, 2022

Changed commit from 7f66f96 to 620df16

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 7, 2022

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

4c9be6bsrc/sage/manifolds/differentiable/diff_form_module.py: doc: add that the case p=1 of M parallelizable is implemented via VectorFieldDualFreeModule
06710c1src/sage/manifolds/differentiable/diff_form_module.py, vectorfield_module.py: Update copyright using 'git blame -w --date=format:%Y FILE.py | sort -k2', add to AUTHORS
bb614c1Merge #34501

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 7, 2022

Changed commit from 620df16 to bb614c1

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 24, 2022

Changed commit from bb614c1 to 4a4a29d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 24, 2022

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

4a4a29dMerge tag '9.7' into t/34448/put_tensor_modules_of_finiterankfreemodule_in_modules___tensorproducts__

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 25, 2022

Changed commit from 4a4a29d to 1f4fb90

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 25, 2022

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

1f4fb90Merge tag '9.8.beta0' into t/34448/put_tensor_modules_of_finiterankfreemodule_in_modules___tensorproducts__

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 25, 2022

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

7c04959src/sage/manifolds/differentiable/diff_form_module.py: Fix typo in docstring
fc31cbfMerge #34501
f0def92src/sage/tensor/modules/tensor_free_module.py: Remove redundant method

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 25, 2022

Changed commit from 1f4fb90 to f0def92

@egourgoulhon
Copy link
Member

comment:22

LGTM for the part in sage.tensor.modules. Regarding the part in sage.manifolds.differentiable, there are the following changes in the class VectorFieldModule:

-    def tensor(self, tensor_type, name=None, latex_name=None, sym=None,
+    def _tensor(self, tensor_type, name=None, latex_name=None, sym=None,

and

+    tensor = FiniteRankFreeModule.tensor

Now, instances of VectorFieldModule are not free modules (those are implemented via VectorFieldFreeModule instead), so having VectorFieldModule.tensor being FiniteRankFreeModule.tensor looks problematic. For instance:

sage: M = manifolds.Sphere(2)
sage: XM = M.vector_field_module()
sage: XM.tensor?
   Construct a tensor on the free module "self" or a tensor product
   with other modules.
   ...

but self is not a free module. Maybe declaring tensor = _tensor would be preferable here.

I understand that bringing tensor modules on VectorFieldModule in Modules().TensorProducts() is beyond the scope of this ticket. In particular we have still category=Modules(self._ring) in TensorFieldModule.__init__.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 26, 2022

comment:23

Replying to Eric Gourgoulhon:

I understand that bringing tensor modules on VectorFieldModule in Modules().TensorProducts() is beyond the scope of this ticket.

The next step in this direction is #34589

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 26, 2022

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

e10f9cfsrc/sage/manifolds/differentiable/vectorfield_module.py: Revert change to VectorFieldModule.tensor (not needed yet)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 26, 2022

Changed commit from f0def92 to e10f9cf

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 26, 2022

comment:25

Replying to Eric Gourgoulhon:

LGTM for the part in sage.tensor.modules. Regarding the part in sage.manifolds.differentiable, there are the following changes in the class VectorFieldModule:

-    def tensor(self, tensor_type, name=None, latex_name=None, sym=None,
+    def _tensor(self, tensor_type, name=None, latex_name=None, sym=None,

and

+    tensor = FiniteRankFreeModule.tensor

Thanks for catching this. I've reverted this change.

@egourgoulhon
Copy link
Member

comment:26

Thanks!

@egourgoulhon
Copy link
Member

Reviewer: Eric Gourgoulhon

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 27, 2022

comment:27

Thank you!

@vbraun
Copy link
Member

vbraun commented Sep 29, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants