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

Add method tensor_factor_index_maps to tensor products #34485

Open
mkoeppe opened this issue Sep 2, 2022 · 0 comments
Open

Add method tensor_factor_index_maps to tensor products #34485

mkoeppe opened this issue Sep 2, 2022 · 0 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Sep 2, 2022

Follow-up on #34393.

Example (based on #30229, where it's just the attribute _index_maps of the tensor product):

+            sage: Sym2M = M.tensor_module(2, 0, sym=range(2)); Sym2M
+            Free module of fully symmetric type-(2,0) tensors on the 2-dimensional vector space over the Rational Field
+            sage: Sym01x23M = Sym2M.tensor_product(Sym2M); Sym01x23M
+            Free module of type-(4,0) tensors on the 2-dimensional vector space over the Rational Field,
+             with symmetry on the index positions (0, 1), with symmetry on the index positions (2, 3)
+            sage: Sym01x23M.tensor_factor_index_maps()
+            ((0, 1), (2, 3))
+
+            sage: N = M.tensor_module(3, 3, sym=[1, 2], antisym=[3, 4]); N
+            Free module of type-(3,3) tensors on the 2-dimensional vector space over the Rational Field,
+             with symmetry on the index positions (1, 2),
+             with antisymmetry on the index positions (3, 4)
+            sage: NxN = N.tensor_product(N); NxN
+            Free module of type-(6,6) tensors on the 2-dimensional vector space over the Rational Field,
+             with symmetry on the index positions (1, 2), with symmetry on the index positions (4, 5),
+             with antisymmetry on the index positions (6, 7), with antisymmetry on the index positions (9, 10)
+            sage: NxN.tensor_factor_index_maps()
+            ((0, 1, 2, 6, 7, 8), (3, 4, 5, 9, 10, 11))

Related:

Depends on #34393
Depends on #30229

CC: @tscrim @fchapoton @egourgoulhon

Component: linear algebra

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

@mkoeppe mkoeppe added this to the sage-9.7 milestone Sep 2, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Sep 19, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Jan 29, 2023
@mkoeppe mkoeppe removed this from the sage-10.0 milestone Mar 16, 2023
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

1 participant