-
-
Notifications
You must be signed in to change notification settings - Fork 698
Open
Description
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:
- tensor products of maps #15832 (the methods
indices_to_index,index_to_indicesproposed in that ticket can be implemented in terms of the information returned bytensor_factor_index_maps) - Cartesian products indexed by a Family #31457 (Cartesian products indexed by a Family)
Depends on #34393
Depends on #30229
CC: @tscrim @fchapoton @egourgoulhon
Component: linear algebra
Issue created by migration from https://trac.sagemath.org/ticket/34485