def DualObjects(self): r""" Return the category of spaces constructed as duals of spaces 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; for example, if `V` is a finite dimensional algebra, then its dual is a coalgebra. This returns the category of spaces constructed as dual of spaces in ``self``, endowed with the appropriate additional structure. .. WARNING:: - This semantic of ``dual`` and ``DualObject`` is imposed on all subcategories, in particular to make ``dual`` a covariant functorial construction. A subcategory that defines a different notion of dual needs to use a different name. - Typically, the category of graded modules should define a separate ``graded_dual`` construction (see :trac:`15647`). For now the two constructions are not distinguished which is an oversimplified model. .. SEEALSO:: - :class:`.dual.DualObjectsCategory` - :class:`~.covariant_functorial_construction.CovariantFunctorialConstruction`. 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] The dual of a coalgebra is an algebra:: sage: sorted(Coalgebras(QQ).DualObjects().super_categories(), key=str) [Category of algebras over Rational Field, Category of duals of vector spaces over Rational Field] As a shorthand, this category can be accessed with the :meth:`~Modules.SubcategoryMethods.dual` method:: sage: VectorSpaces(QQ).dual() Category of duals of vector spaces over Rational Field TESTS:: sage: C = VectorSpaces(QQ).DualObjects() sage: C.base_category() Category of vector spaces over Rational Field sage: C.super_categories() [Category of vector spaces over Rational Field] sage: latex(C) \mathbf{DualObjects}(\mathbf{VectorSpaces}_{\Bold{Q}}) sage: TestSuite(C).run() """ return DualObjectsCategory.category_of(self)