### Navigation

- index
- modules |
- next |
- previous |
- Category Theory »

# Vector Spaces

class `sage.categories.vector_spaces.``VectorSpaces`(K)

  Bases: `sage.categories.category_types.Category_module`

  The category of (abstract) vector spaces over a given field

  ??? with an embedding in an ambient vector space ???

  EXAMPLES:

      sage: VectorSpaces(QQ)
      Category of vector spaces over Rational Field
      sage: VectorSpaces(QQ).super_categories()
      [Category of modules over Rational Field]

  class `CartesianProducts`(category, *args)

    Bases: `sage.categories.cartesian_product.CartesianProductsCategory`

    TESTS:

        sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
        sage: class FooBars(CovariantConstructionCategory):
        ...       _functor_category = "FooBars"
        sage: Category.FooBars = lambda self: FooBars.category_of(self)
        sage: C = FooBars(ModulesWithBasis(ZZ))
        sage: C
        Category of foo bars of modules with basis over Integer Ring
        sage: C.base_category()
        Category of modules with basis over Integer Ring
        sage: latex(C)
        \mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
        sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
        sage: TestSuite(C).run()

    `extra_super_categories`()

      The category of vector spaces is closed under cartesian products:

          sage: C = VectorSpaces(QQ)
          sage: C.CartesianProducts()
          Category of Cartesian products of vector spaces over Rational Field
          sage: C in C.CartesianProducts().super_categories()
          True

  class `VectorSpaces.``DualObjects`(category, *args)

    Bases: `sage.categories.dual.DualObjectsCategory`

    TESTS:

        sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
        sage: class FooBars(CovariantConstructionCategory):
        ...       _functor_category = "FooBars"
        sage: Category.FooBars = lambda self: FooBars.category_of(self)
        sage: C = FooBars(ModulesWithBasis(ZZ))
        sage: C
        Category of foo bars of modules with basis over Integer Ring
        sage: C.base_category()
        Category of modules with basis over Integer Ring
        sage: latex(C)
        \mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
        sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
        sage: TestSuite(C).run()

    `extra_super_categories`()

      Returns the dual category

      EXAMPLES:

      The category of algebras over the Rational Field is dual to the category of coalgebras over the same field:

          sage: C = VectorSpaces(QQ)
          sage: C.dual()
          Category of duals of vector spaces over Rational Field
          sage: C.dual().super_categories() # indirect doctest
          [Category of vector spaces over Rational Field]

  class `VectorSpaces.``ElementMethods`
  class `VectorSpaces.``ParentMethods`
  class `VectorSpaces.``TensorProducts`(category, *args)

    Bases: `sage.categories.tensor.TensorProductsCategory`

    TESTS:

        sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
        sage: class FooBars(CovariantConstructionCategory):
        ...       _functor_category = "FooBars"
        sage: Category.FooBars = lambda self: FooBars.category_of(self)
        sage: C = FooBars(ModulesWithBasis(ZZ))
        sage: C
        Category of foo bars of modules with basis over Integer Ring
        sage: C.base_category()
        Category of modules with basis over Integer Ring
        sage: latex(C)
        \mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
        sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
        sage: TestSuite(C).run()

    `extra_super_categories`()

      The category of vector spaces is closed under tensor products:

          sage: C = VectorSpaces(QQ)
          sage: C.TensorProducts()
          Category of tensor products of vector spaces over Rational Field
          sage: C in C.TensorProducts().super_categories()
          True

  class `VectorSpaces.``WithBasis`(base_category)

    Bases: `sage.categories.category_with_axiom.CategoryWithAxiom_over_base_ring`

    TESTS:

        sage: C = Modules(ZZ).FiniteDimensional(); C
        Category of finite dimensional modules over Integer Ring
        sage: type(C)
        <class 'sage.categories.modules.Modules.FiniteDimensional_with_category'>
        sage: type(C).__base__.__base__
        <class 'sage.categories.category_with_axiom.CategoryWithAxiom_over_base_ring'>

        sage: TestSuite(C).run()

    class `CartesianProducts`(category, *args)

      Bases: `sage.categories.cartesian_product.CartesianProductsCategory`

      TESTS:

          sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
          sage: class FooBars(CovariantConstructionCategory):
          ...       _functor_category = "FooBars"
          sage: Category.FooBars = lambda self: FooBars.category_of(self)
          sage: C = FooBars(ModulesWithBasis(ZZ))
          sage: C
          Category of foo bars of modules with basis over Integer Ring
          sage: C.base_category()
          Category of modules with basis over Integer Ring
          sage: latex(C)
          \mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
          sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
          sage: TestSuite(C).run()

      `extra_super_categories`()

        The category of vector spaces with basis is closed under cartesian products:

            sage: C = VectorSpaces(QQ).WithBasis()
            sage: C.CartesianProducts()
            Category of Cartesian products of vector spaces with basis over Rational Field
            sage: C in C.CartesianProducts().super_categories()
            True

    class `VectorSpaces.WithBasis.``TensorProducts`(category, *args)

      Bases: `sage.categories.tensor.TensorProductsCategory`

      TESTS:

          sage: from sage.categories.covariant_functorial_construction import CovariantConstructionCategory
          sage: class FooBars(CovariantConstructionCategory):
          ...       _functor_category = "FooBars"
          sage: Category.FooBars = lambda self: FooBars.category_of(self)
          sage: C = FooBars(ModulesWithBasis(ZZ))
          sage: C
          Category of foo bars of modules with basis over Integer Ring
          sage: C.base_category()
          Category of modules with basis over Integer Ring
          sage: latex(C)
          \mathbf{FooBars}(\mathbf{ModulesWithBasis}_{\Bold{Z}})
          sage: import __main__; __main__.FooBars = FooBars # Fake FooBars being defined in a python module
          sage: TestSuite(C).run()

      `extra_super_categories`()

        The category of vector spaces with basis is closed under tensor products:

            sage: C = VectorSpaces(QQ).WithBasis()
            sage: C.TensorProducts()
            Category of tensor products of vector spaces with basis over Rational Field
            sage: C in C.TensorProducts().super_categories()
            True

    `VectorSpaces.WithBasis.``is_abelian`()

      Return whether this category is abelian.

      This is always `True` since the base ring is a field.

      EXAMPLES:

          sage: VectorSpaces(QQ).WithBasis().is_abelian()
          True

  `VectorSpaces.``additional_structure`()

    Return `None`.

    Indeed, the category of vector spaces defines no additional structure: a bimodule morphism between two vector spaces is a vector space morphism.

    See also

    `Category.additional_structure()`

    Todo

    Should this category be a `CategoryWithAxiom`?

    EXAMPLES:

        sage: VectorSpaces(QQ).additional_structure()

  `VectorSpaces.``base_field`()

    Returns the base field over which the vector spaces of this category are all defined.

    EXAMPLES:

        sage: VectorSpaces(QQ).base_field()
        Rational Field

  `VectorSpaces.``super_categories`()

    EXAMPLES:

        sage: VectorSpaces(QQ).super_categories()
        [Category of modules over Rational Field]

### Navigation

- index
- modules |
- next |
- previous |
- Category Theory »