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

TensorFreeModule.isomorphism_with_fixed_basis #34427

Closed
mkoeppe opened this issue Aug 25, 2022 · 51 comments
Closed

TensorFreeModule.isomorphism_with_fixed_basis #34427

mkoeppe opened this issue Aug 25, 2022 · 51 comments

Comments

@mkoeppe
Copy link
Member

mkoeppe commented Aug 25, 2022

We generalize FiniteRankFreeModule.isomorphism_with_fixed_basis so that it works with tensor modules.

Depends on #34424
Depends on #30300
Depends on #30229

CC: @egourgoulhon @tscrim

Component: linear algebra

Author: Matthias Koeppe

Branch/Commit: 08d6a65

Reviewer: Eric Gourgoulhon

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

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

mkoeppe commented Aug 27, 2022

@mkoeppe
Copy link
Member Author

mkoeppe commented Aug 27, 2022

Last 10 new commits:

b7e5319Merge #34424
fb1ce42src/sage/tensor/modules/ext_pow_free_module.py: No need to override basis() any more
30d4eecTensorFreeModule.basis: Pass all args
d1376fdTensorFreeModule.basis: Add documentation
2bcfc21src/sage/tensor/modules: Use keyword order: category, ambient
6e9bec5src/sage/tensor/modules/finite_rank_free_module.py: Move ambient_module, is_submodule to FiniteRankFreeModule_abstract
fd5ba8csrc/sage/tensor/modules/tensor_free_module.py: No more need for TensorFreeModule.irange
544ffabMerge #30229
a4d65bcFiniteRankFreeModule_abstract.isomorphism_with_fixed_basis: Move here from FiniteRankFreeModule, rewrite using Family
280424eFiniteRankFreeModule_abstract.isomorphism_with_fixed_basis: Add example with codomain from sage.modules

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Member Author

mkoeppe commented Aug 27, 2022

Commit: 280424e

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Changed commit from 280424e to b0b8d19

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

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

e452316FreeModuleTensor: Handle TensorFreeSubmoduleBasis_comp
b0b8d19FiniteRankFreeModule_abstract.isomorphism_with_fixed_basis: Handle codomain=MatrixSpace

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

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

18aa856FiniteRankFreeModule_abstract.isomorphism_with_fixed_basis: Add example with symmetric binary forms

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Changed commit from b0b8d19 to 18aa856

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

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

dafd47dFiniteRankFreeModule_abstract.isomorphism_with_fixed_basis: Better example with symmetric binary forms

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Changed commit from 18aa856 to dafd47d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Changed commit from dafd47d to c354770

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

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

c354770FiniteRankFreeModule_abstract.isomorphism_with_fixed_basis: Add example with codomain= tensor square of a CombinatorialFreeModule

@mkoeppe
Copy link
Member Author

mkoeppe commented Aug 27, 2022

Author: Matthias Koeppe

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Changed commit from c354770 to 454f0b0

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

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

694e665TensorFreeSubmoduleBasis_comp._repr_: New
adc2b45Merge #30229
454f0b0src/sage/tensor/modules/finite_rank_free_module.py: Update doctest output

@mjungmath
Copy link

comment:9

This looks great! I think this also solves the problem that tensor bundles currently return the preferred local frame of the tangent bundle.

Moreover, tensor powers and exterior powers of vector bundles should be easy to implement by following the same strategy as for tensor bundles. The only reason I haven't done it so far was exactly that those powers in the free module case had no bases.

However, perhaps it is a better idea to start with some sort of unifocation first, to avoid redundancies. Otherwise we have to write similar code twice (for tangent bundles and for vector bundles). After all, tangent bundles are just special cases of vector bundles. I am still not sure though what a good implemention strategy would be to achive that.

Speaking of which: what about fiber bundles?

@mkoeppe
Copy link
Member Author

mkoeppe commented Aug 27, 2022

comment:10

Thanks for taking a look!

For exterior powers, I still hope to come back to the approach of #30242, making them quotients. This will basically come for free when #30229 is complete.

Right now I don't have an opinion on how this should be generalized to tensor/vector/fiber bundles

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

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

a1de064TensorFreeSubmodule_comp: Default name, latex_name for the case Sym^n(M)
320d00bTensorFreeSubmodule_comp: Default name, latex_name for more cases
e8ba509TensorFreeSubmodule_comp: Fix default name, latex_name for indices without symmetries
0277d80TensorFreeSubmodule_comp: Add example for module with sym and antisym
17137cfFiniteRankFreeModule.tensor_module: Add parameters sym, antisym; add methods symmetric_power, dual_symmetric_power
eb517b2Merge #30229
06e0cd8src/sage/tensor/modules/finite_rank_free_module.py: WIP isomorphism_with_fixed_basis with codomain=symmetric matrices

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Changed commit from 454f0b0 to 06e0cd8

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

e2d2ea8src/sage/tensor/modules/finite_rank_free_module.py: isomorphism_with_fixed_basis with codomain=symmetric matrices

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 27, 2022

Changed commit from 06e0cd8 to e2d2ea8

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

Changed commit from e2d2ea8 to 9ace3e2

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

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

993b343TensorFreeModule._element_constructor_: Pass parent=self to element_class
5b8ccdesrc/sage/tensor/modules/tensor_free_module.py: Update doctest output
b0812b1TensorFreeSubmoduleBasis_comp._element_constructor_: Full implementation
8cd3cc4TensorFreeSubmoduleBasis_comp._element_constructor_: Fix for zero; implement retract
ae2ff23TensorFreeSubmoduleBasis_comp.reduce: New; use it in _element_constructor_
9ace3e2Merge #30229

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

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

89a5893src/sage/tensor/modules/tensor_free_[sub]module.py (_basis_comp): Add docstrings
c8d9877TensorFreeSubmodule_comp._is_symmetry_coarsening_of: Add docstring
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
1c8b0a1Merge #30229
f496223FiniteRankFreeModule_abstract._test_isomorphism_with_fixed_basis: Do nothing if there is no basis method
d341422src/sage/tensor/modules/finite_rank_free_module.py: Update doctest output

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

Changed commit from 9ace3e2 to d341422

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

Changed commit from 368ded7 to c42118a

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

c42118asrc/sage/manifolds/differentiable/tangent_space.py: Add example: isomorphism with inner product space

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

Changed commit from c42118a to b79aebe

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

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

877d17eMerge #30300
b79aebeMerge #30229

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

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

aaf46ccDifferentiableManifold.tangent_space, TangentSpace: Accept keyword 'base_ring'
6cd438cStandardSymplecticSpace: Add example: isomorphism with inner product space

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 28, 2022

Changed commit from b79aebe to 6cd438c

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 29, 2022

Changed commit from 6cd438c to 6ca796c

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 29, 2022

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

1e7430asrc/sage/tensor: In examples, use FiniteRankFreeModule.tensor_module(..., sym=...) instead of FiniteRankFreeModule_sym
046887cTensorFreeModule.basis: Add example from egourgoulhon
3a65d2dCompWithSym._canonicalize_sym_antisym: Factor out from __init__
07ab991src/sage/tensor: Allow _sym, _antisym attributes to be tuples
3619b4csrc/sage/tensor, src/sage/manifolds: Sort _sym, _antisym, store as tuples of tuples
970c6c8src/sage/tensor, src/sage/manifolds: Sort _sym, _antisym, store as tuples of tuples (fixup)
9f15e00src/sage/tensor: Allow _sym, _antisym attributes to be tuples (fixup)
6547ab9Merge #34451
04706ddFiniteRankFreeModule.tensor_module: Canonicalize sym, antisym
6ca796cMerge #30229

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 30, 2022

Changed commit from 6ca796c to bd38eac

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Aug 30, 2022

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

726e562src/sage/tensor/modules/finite_rank_free_module.py: Remove unused import
bd38eacMerge #30229

@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:

421c660src/sage/tensor/modules/finite_rank_free_module.py: Add doctest
a1a3f36CompWithSym.__init__: Accept keyword 'trivial_symmetries', add tests
8a2c71aVectorFieldModule.tensor, VectorFieldFreeModule.tensor: Use CompWithSym._canonicalize_sym_antisym
e34306bRevert "FiniteRankFreeModule.tensor: Restore error when trivial symmetries are passed"
c6b6b2esrc/sage/tensor, src/sage/manifolds: Remove parameter 'trivial_symmetries' again
39bfe8dMerge #34451
bec2f65CompWithSym._canonicalize_sym_antisym: Refactor, fix index validation, add tests
66009e7src/sage/tensor/modules/comp.py: Fix docstring
64e3c1dMerge #34451
ebc98d4Merge #30229

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 2, 2022

Changed commit from bd38eac to ebc98d4

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 2, 2022

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

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
a7c79deMerge #30229

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 2, 2022

Changed commit from ebc98d4 to a7c79de

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 4, 2022

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

45bf6f3FiniteRankFreeModule_abstract.tensor_product: Add comment
803f7e4Make FiniteRankFreeModule.tensor_module(0, 1) return the dual (#34474)
0648daaMerge #34474
fc66ad1FiniteRankFreeModule.dual_symmetric_power: Update for changes in #34474
08d6a65Merge #30229

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 4, 2022

Changed commit from a7c79de to 08d6a65

@egourgoulhon
Copy link
Member

Reviewer: Eric Gourgoulhon

@egourgoulhon
Copy link
Member

comment:27

Looks nice. Thanks.

@mkoeppe
Copy link
Member Author

mkoeppe commented Sep 4, 2022

comment:28

Thank you!

@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Sep 19, 2022
@vbraun
Copy link
Member

vbraun commented Sep 25, 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

4 participants