Skip to content

Allow for tensor product of a FiniteRankFreeModule dual #34471

@egourgoulhon

Description

@egourgoulhon

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions