### Navigation

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

# Hopf algebras with basis

class `sage.categories.hopf_algebras_with_basis.``HopfAlgebrasWithBasis`(base_category)

  Bases: `sage.categories.category_with_axiom.CategoryWithAxiom_over_base_ring`

  The category of Hopf algebras with a distinguished basis

  EXAMPLES:

      sage: C = HopfAlgebrasWithBasis(QQ)
      sage: C
      Category of hopf algebras with basis over Rational Field
      sage: C.super_categories()
      [Category of hopf algebras over Rational Field,
       Category of algebras with basis over Rational Field,
       Category of coalgebras with basis over Rational Field]

  We now show how to use a simple Hopf algebra, namely the group algebra of the dihedral group (see also AlgebrasWithBasis):

      sage: A = C.example(); A
      An example of Hopf algebra with basis: the group algebra of the Dihedral group of order 6 as a permutation group over Rational Field
      sage: A.__custom_name = "A"
      sage: A.category()
      Category of hopf algebras with basis over Rational Field

      sage: A.one_basis()
      ()
      sage: A.one()
      B[()]

      sage: A.base_ring()
      Rational Field
      sage: A.basis().keys()
      Dihedral group of order 6 as a permutation group

      sage: [a,b] = A.algebra_generators()
      sage: a, b
      (B[(1,2,3)], B[(1,3)])
      sage: a^3, b^2
      (B[()], B[()])
      sage: a*b
      B[(1,2)]

      sage: A.product           # todo: not quite ...
      <bound method MyGroupAlgebra_with_category._product_from_product_on_basis_multiply of A>
      sage: A.product(b,b)
      B[()]

      sage: A.zero().coproduct()
      0
      sage: A.zero().coproduct().parent()
      A # A
      sage: a.coproduct()
      B[(1,2,3)] # B[(1,2,3)]

      sage: TestSuite(A).run(verbose=True)
      running ._test_additive_associativity() . . . pass
      running ._test_an_element() . . . pass
      running ._test_antipode() . . . pass
      running ._test_associativity() . . . pass
      running ._test_category() . . . pass
      running ._test_characteristic() . . . pass
      running ._test_distributivity() . . . pass
      running ._test_elements() . . .
        Running the test suite of self.an_element()
        running ._test_category() . . . pass
        running ._test_eq() . . . pass
        running ._test_nonzero_equal() . . . pass
        running ._test_not_implemented_methods() . . . pass
        running ._test_pickling() . . . pass
        pass
      running ._test_elements_eq_reflexive() . . . pass
      running ._test_elements_eq_symmetric() . . . pass
      running ._test_elements_eq_transitive() . . . pass
      running ._test_elements_neq() . . . pass
      running ._test_eq() . . . pass
      running ._test_not_implemented_methods() . . . pass
      running ._test_one() . . . pass
      running ._test_pickling() . . . pass
      running ._test_prod() . . . pass
      running ._test_some_elements() . . . pass
      running ._test_zero() . . . pass
      sage: A.__class__
      <class 'sage.categories.examples.hopf_algebras_with_basis.MyGroupAlgebra_with_category'>
      sage: A.element_class
      <class 'sage.combinat.free_module.MyGroupAlgebra_with_category.element_class'>

  Let us look at the code for implementing A:

      sage: A??                       # todo: not implemented

  TESTS:

      sage: TestSuite(A).run()
      sage: TestSuite(C).run()

  class `ElementMethods`
  `HopfAlgebrasWithBasis.``FiniteDimensional`

    alias of `FiniteDimensionalHopfAlgebrasWithBasis`

  `HopfAlgebrasWithBasis.``Graded`

    alias of `GradedHopfAlgebrasWithBasis`

  class `HopfAlgebrasWithBasis.``ParentMethods`
    `antipode`()

      The antipode of this Hopf algebra.

      If `antipode_basis()` is available, this constructs the antipode morphism from `self` to `self` by extending it by linearity. Otherwise, `self.antipode_by_coercion()` is used, if available.

      EXAMPLES:

          sage: A = HopfAlgebrasWithBasis(ZZ).example(); A
          An example of Hopf algebra with basis: the group algebra of the Dihedral group of order 6 as a permutation group over Integer Ring
          sage: A = HopfAlgebrasWithBasis(QQ).example()
          sage: [a,b] = A.algebra_generators()
          sage: a, A.antipode(a)
          (B[(1,2,3)], B[(1,3,2)])
          sage: b, A.antipode(b)
          (B[(1,3)], B[(1,3)])

      TESTS:

          sage: all(A.antipode(x) * x == A.one() for x in A.basis())
          True

    `antipode_on_basis`(x)

      The antipode of the Hopf algebra on the basis (optional)

      INPUT:

      > - `x` – an index of an element of the basis of `self`

      Returns the antipode of the basis element indexed by `x`.

      If this method is implemented, then `antipode()` is defined from this by linearity.

      EXAMPLES:

          sage: A = HopfAlgebrasWithBasis(QQ).example()
          sage: W = A.basis().keys(); W
          Dihedral group of order 6 as a permutation group
          sage: w = W.an_element(); w
          (1,2,3)
          sage: A.antipode_on_basis(w)
          B[(1,3,2)]

  class `HopfAlgebrasWithBasis.``TensorProducts`(category, *args)

    Bases: `sage.categories.tensor.TensorProductsCategory`

    The category of hopf algebras with basis constructed by tensor product of hopf algebras with basis

    class `ElementMethods`
    class `HopfAlgebrasWithBasis.TensorProducts.``ParentMethods`
    `HopfAlgebrasWithBasis.TensorProducts.``extra_super_categories`()

      EXAMPLES:

          sage: C = HopfAlgebrasWithBasis(QQ).TensorProducts()
          sage: C.extra_super_categories()
          [Category of hopf algebras with basis over Rational Field]
          sage: sorted(C.super_categories(), key=str)
          [Category of hopf algebras with basis over Rational Field,
           Category of tensor products of algebras with basis over Rational Field,
           Category of tensor products of hopf algebras over Rational Field]

  `HopfAlgebrasWithBasis.``example`(G=None)

    Returns an example of algebra with basis:

        sage: HopfAlgebrasWithBasis(QQ[x]).example()
        An example of Hopf algebra with basis: the group algebra of the Dihedral group of order 6 as a permutation group over Univariate Polynomial Ring in x over Rational Field

    An other group can be specified as optional argument:

        sage: HopfAlgebrasWithBasis(QQ).example(SymmetricGroup(4))
        An example of Hopf algebra with basis: the group algebra of the Symmetric group of order 4! as a permutation group over Rational Field

### Navigation

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