Since Sage 9.7.rc0, FiniteRankFreeModule's are endowed with a tensor_product method, thanks to #31276. However, this does not work with the dual:
sage: M = FiniteRankFreeModule(ZZ, 2, name='M')
sage: M.tensor_product(M.tensor_module(1,1)) # OK
Free module of type-(2,1) tensors on the Rank-2 free module M
over the Integer Ring
sage: M.tensor_product(M.dual())
...
AttributeError: 'ExtPowerDualFreeModule_with_category' object has
no attribute 'tensor_type'
The method ExtPowerDualFreeModule.tensor_type is implemented here,
which fixes the issue:
sage: M.tensor_product(M.dual())
Free module of type-(1,1) tensors on the Rank-2 free module M
over the Integer Ring
Depends on #30241
CC: @mkoeppe @tscrim
Component: linear algebra
Reviewer: Eric Gourgoulhon
Issue created by migration from https://trac.sagemath.org/ticket/34471
Since Sage 9.7.rc0,
FiniteRankFreeModule's are endowed with atensor_productmethod, thanks to #31276. However, this does not work with the dual:The method
ExtPowerDualFreeModule.tensor_typeis implemented here,which fixes the issue:
Depends on #30241
CC: @mkoeppe @tscrim
Component: linear algebra
Reviewer: Eric Gourgoulhon
Issue created by migration from https://trac.sagemath.org/ticket/34471