Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make a proper distinction in the categories between dual and graded dual #15647

Open
darijgr opened this issue Jan 8, 2014 · 3 comments
Open

Comments

@darijgr
Copy link
Contributor

darijgr commented Jan 8, 2014

Tangent off the #10963 discussion...

+ @cached_method
+ def DualObjects(self):
+ r"""
+ Return the category of duals of objects of ``self``.
+
+ The dual of a vector space `V` is the space consisting of
+ all linear functionals on `V` (see :wikipedia:`Dual_space`).
+ Additional structure on `V` can endow its dual with
+ additional structure; e.g. if `V` is an algebra, then its
+ dual is a coalgebra.
+
+ This returns the category of dual of spaces in ``self`` endowed
+ with the appropriate additional structure.
+
+ .. SEEALSO::
+
+ - :class:`.dual.DualObjectsCategory`
+ - :class:`~.covariant_functorial_construction.CovariantFunctorialConstruction`.
+
+ .. TODO:: add support for graded duals.
+
+ EXAMPLES::
+
+ sage: VectorSpaces(QQ).DualObjects()
+ Category of duals of vector spaces over Rational Field
+
+ The dual of a vector space is a vector space::
+
+ sage: VectorSpaces(QQ).DualObjects().super_categories()
+ [Category of vector spaces over Rational Field]
+
+ The dual of an algebra is a coalgebra::
+
+ sage: sorted(Algebras(QQ).DualObjects().super_categories(), key=str)
+ [Category of coalgebras over Rational Field,
+ Category of duals of vector spaces over Rational Field]

I know this is not a big issue since the dual() of an algebra is a coalgebra in probably all cases in which dual() is implemented (not least because in the infinite-dimensional cases it usually means the graded dual). But at some point it probably will become an issue (maybe with the introduction of non-graded bases for graded algebras?), and I'm unhappy with the docstring lying in my face. And Nicolas suggests that "we need to clean up the distinction between dual and graded dual; this is not completely obvious to set the things up so that we can still share some code between the two".

At this occasion, DualObjectsCategory should be made into a category
over base ring, if not just to inherit from the an_instance method.
Compare:

sage: sage: ModulesWithBasis.Graded.an_instance()
Category of graded modules with basis over Rational Field
sage: ModulesWithBasis.DualObjects.an_instance()
Type error ...

Depends on #10963

CC: @nthiery @sagetrac-sage-combinat

Component: categories

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

@darijgr darijgr added this to the sage-6.1 milestone Jan 8, 2014
@nthiery

This comment has been minimized.

@nthiery nthiery added the t: bug label Jan 19, 2014
@nthiery nthiery changed the title Docstring and probably also code is dangerously naive about duality Make a proper distinction in the categories between dual and graded dual Jan 19, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@mkoeppe
Copy link
Contributor

mkoeppe commented Nov 18, 2016

comment:5

Are there even any methods for constructing the dual of a vector space, or just a single linear functional?

@mkoeppe
Copy link
Contributor

mkoeppe commented Jul 8, 2020

comment:6

Replying to @mkoeppe:

Are there even any methods for constructing the dual of a vector space, or just a single linear functional?

See #30091

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants