Opened 17 months ago

Last modified 4 months ago

#30091 new enhancement

Linear functionals on vector spaces and modules

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.5
Component: categories Keywords:
Cc: tscrim, sbrandhorst, egourgoulhon Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

We propose to add a method dual to modules M as an abbreviation for Hom(M, M.base_ring()).

For vector spaces, we create a specialized class so that it prints in a more concise way than this:

sage: Hom(QQ^2, QQ)
Set of Morphisms (Linear Transformations) from Vector space of dimension 2 over Rational Field to Rational Field

and has more functionality to make linear algebra less awkward.

sage: _.an_element()
NotImplementedError: please implement _an_element_ for Set of Morphisms (Linear Transformations) from Vector space of dimension 2 over Rational Field to Rational Field

FiniteRankFreeModule already has this functionality. The new interface should be compatible with it.

sage: Q3 = FiniteRankFreeModule(QQ, 3)
sage: Q3.dual()
Dual of the 3-dimensional vector space over the Rational Field
sage: l = Q3.linear_form(); l
Linear form on the 3-dimensional vector space over the Rational Field

Related (more general):

  • #13372: add functionality for duals of algebras, coalgebras, hopf algebras, etc.

Change History (4)

comment:1 Changed 17 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 16 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:3 Changed 10 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

comment:4 Changed 4 months ago by mkoeppe

  • Milestone changed from sage-9.4 to sage-9.5
Note: See TracTickets for help on using tickets.