# Realizations Covariant Functorial Construction#

class sage.categories.realizations.Category_realization_of_parent(parent_with_realization)[source]#

An abstract base class for categories of all realizations of a given parent

INPUT:

• `parent_with_realization` – a parent

EXAMPLES:

```sage: A = Sets().WithRealizations().example(); A                                # needs sage.modules
The subset algebra of {1, 2, 3} over Rational Field
```
```>>> from sage.all import *
>>> A = Sets().WithRealizations().example(); A                                # needs sage.modules
The subset algebra of {1, 2, 3} over Rational Field
```

The role of this base class is to implement some technical goodies, like the binding `A.Realizations()` when a subclass `Realizations` is implemented as a nested class in `A` (see the `code of the example`):

```sage: C = A.Realizations(); C                                                   # needs sage.modules
Category of realizations of
The subset algebra of {1, 2, 3} over Rational Field
```
```>>> from sage.all import *
>>> C = A.Realizations(); C                                                   # needs sage.modules
Category of realizations of
The subset algebra of {1, 2, 3} over Rational Field
```

as well as the name for that category.

sage.categories.realizations.Realizations(self)[source]#

Return the category of realizations of the parent `self` or of objects of the category `self`

INPUT:

• `self` – a parent or a concrete category

Note

this function is actually inserted as a method in the class `Category` (see `Realizations()`). It is defined here for code locality reasons.

EXAMPLES:

The category of realizations of some algebra:

```sage: Algebras(QQ).Realizations()
Join of Category of algebras over Rational Field
and Category of realizations of unital magmas
```
```>>> from sage.all import *
>>> Algebras(QQ).Realizations()
Join of Category of algebras over Rational Field
and Category of realizations of unital magmas
```

The category of realizations of a given algebra:

```sage: A = Sets().WithRealizations().example(); A                                # needs sage.modules
The subset algebra of {1, 2, 3} over Rational Field
sage: A.Realizations()                                                          # needs sage.modules
Category of realizations of
The subset algebra of {1, 2, 3} over Rational Field

Join of Category of graded Hopf algebras with basis over Rational Field
and Category of realizations of Hopf algebras over Rational Field
sage: C.super_categories()
[Category of graded Hopf algebras with basis over Rational Field,
Category of realizations of Hopf algebras over Rational Field]

sage: TestSuite(C).run()
```
```>>> from sage.all import *
>>> A = Sets().WithRealizations().example(); A                                # needs sage.modules
The subset algebra of {1, 2, 3} over Rational Field
>>> A.Realizations()                                                          # needs sage.modules
Category of realizations of
The subset algebra of {1, 2, 3} over Rational Field

Join of Category of graded Hopf algebras with basis over Rational Field
and Category of realizations of Hopf algebras over Rational Field
>>> C.super_categories()
[Category of graded Hopf algebras with basis over Rational Field,
Category of realizations of Hopf algebras over Rational Field]

>>> TestSuite(C).run()
```

Todo

Add an optional argument to allow for:

```sage: Realizations(A, category=Blahs()) # todo: not implemented
```
```>>> from sage.all import *
>>> Realizations(A, category=Blahs()) # todo: not implemented
```
class sage.categories.realizations.RealizationsCategory(category, *args)[source]#

An abstract base class for all categories of realizations category

Relization are implemented as `RegressiveCovariantConstructionCategory`. See there for the documentation of how the various bindings such as `Sets().Realizations()` and `P.Realizations()`, where `P` is a parent, work.