Skip to content

Exterior powers of free modules of finite rank #23207

@egourgoulhon

Description

@egourgoulhon

This ticket implements the exterior power /<sup>p(M) for a free module of finite rank M (p being a positive integer), i.e. the set of alternating contravariant tensors of type (p,0) on M. Previously only the exterior power of the dual of M, i.e. /<sup>p(M*), was implemented, as the parent of alternating forms of degree p. More specifically, the ticket introduces two new classes:

  • the parent class ExtPowerFreeModule for /<sup>p(M)
  • the element class AlternatingContrTensor for elements of /<sup>p(M)

Note that the pre-existing class for /<sup>p(M*), which was called ExtPowerFreeModule, has been renamed ExtPowerDualFreeModule, since it regards the exterior power of the dual of M.

The class for the elements of M, FiniteRankFreeModuleElement , inherits from the new class AlternatingContrTensor, reflecting the fact that /<sup>1(M) = M. In particular, this allows one to consider module elements in operations like the exterior product or the interior product. For instance, for a and b in M, a.wedge(b) returns now the element a/*b* of /<sup>2(M).

In addition, the ticket implements the interior products

  • /<sup>p(M) x /<sup>q(M*) --> /<sup>q-p(M*)
  • /<sup>p(M*) x /<sup>q(M) --> /<sup>q-p(M)

for p<=q via the method interior_product in classes AlternatingContrTensor and FreeModuleAltForm.

Besides, some slight updates in all source files in src/sage/tensor/modules have been performed:

  • for the migration to Python3, a few range(...) have been changed to list(range(...)) in places where a list is expected instead of an iterator
  • bibliographic references have been reformated to provide links to the master bibliography file src/doc/en/reference/references/index.rst.

CC: @tscrim @sagetrac-bpym

Component: linear algebra

Keywords: free module exterior power

Author: Eric Gourgoulhon

Branch/Commit: b797009

Reviewer: Travis Scrimshaw

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions