Hopf algebras with basis#
- class sage.categories.hopf_algebras_with_basis.HopfAlgebrasWithBasis(base_category)[source]#
Bases:
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 bialgebras with basis over Rational Field]
>>> from sage.all import * >>> C = HopfAlgebrasWithBasis(QQ) >>> C Category of Hopf algebras with basis over Rational Field >>> C.super_categories() [Category of Hopf algebras over Rational Field, Category of bialgebras 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 # needs sage.groups 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.rename("A") # needs sage.groups sage: A.category() # needs sage.groups Category of finite dimensional Hopf algebras with basis over Rational Field sage: A.one_basis() # needs sage.groups () sage: A.one() # needs sage.groups B[()] sage: A.base_ring() # needs sage.groups Rational Field sage: A.basis().keys() # needs sage.groups Dihedral group of order 6 as a permutation group sage: # needs sage.groups 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 ... # needs sage.groups <bound method MagmaticAlgebras.WithBasis.ParentMethods._product_from_product_on_basis_multiply of A> sage: A.product(b, b) # needs sage.groups B[()] sage: A.zero().coproduct() # needs sage.groups 0 sage: A.zero().coproduct().parent() # needs sage.groups A # A sage: a.coproduct() # needs sage.groups B[(1,2,3)] # B[(1,2,3)] sage: TestSuite(A).run(verbose=True) # needs sage.groups running ._test_additive_associativity() . . . pass running ._test_an_element() . . . pass running ._test_antipode() . . . pass running ._test_associativity() . . . pass running ._test_cardinality() . . . pass running ._test_category() . . . pass running ._test_characteristic() . . . pass running ._test_construction() . . . 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_monomial_coefficients() . . . pass running ._test_new() . . . 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_new() . . . 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__ # needs sage.groups <class 'sage.categories.examples.hopf_algebras_with_basis.MyGroupAlgebra_with_category'> sage: A.element_class # needs sage.groups <class 'sage.categories.examples.hopf_algebras_with_basis.MyGroupAlgebra_with_category.element_class'>
>>> from sage.all import * >>> A = C.example(); A # needs sage.groups An example of Hopf algebra with basis: the group algebra of the Dihedral group of order 6 as a permutation group over Rational Field >>> A.rename("A") # needs sage.groups >>> A.category() # needs sage.groups Category of finite dimensional Hopf algebras with basis over Rational Field >>> A.one_basis() # needs sage.groups () >>> A.one() # needs sage.groups B[()] >>> A.base_ring() # needs sage.groups Rational Field >>> A.basis().keys() # needs sage.groups Dihedral group of order 6 as a permutation group >>> # needs sage.groups >>> [a,b] = A.algebra_generators() >>> a, b (B[(1,2,3)], B[(1,3)]) >>> a**Integer(3), b**Integer(2) (B[()], B[()]) >>> a*b B[(1,2)] >>> A.product # todo: not quite ... # needs sage.groups <bound method MagmaticAlgebras.WithBasis.ParentMethods._product_from_product_on_basis_multiply of A> >>> A.product(b, b) # needs sage.groups B[()] >>> A.zero().coproduct() # needs sage.groups 0 >>> A.zero().coproduct().parent() # needs sage.groups A # A >>> a.coproduct() # needs sage.groups B[(1,2,3)] # B[(1,2,3)] >>> TestSuite(A).run(verbose=True) # needs sage.groups running ._test_additive_associativity() . . . pass running ._test_an_element() . . . pass running ._test_antipode() . . . pass running ._test_associativity() . . . pass running ._test_cardinality() . . . pass running ._test_category() . . . pass running ._test_characteristic() . . . pass running ._test_construction() . . . 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_monomial_coefficients() . . . pass running ._test_new() . . . 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_new() . . . 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 >>> A.__class__ # needs sage.groups <class 'sage.categories.examples.hopf_algebras_with_basis.MyGroupAlgebra_with_category'> >>> A.element_class # needs sage.groups <class 'sage.categories.examples.hopf_algebras_with_basis.MyGroupAlgebra_with_category.element_class'>
Let us look at the code for implementing A:
sage: A?? # not implemented # needs sage.groups
>>> from sage.all import * >>> A?? # not implemented # needs sage.groups
- Graded[source]#
alias of
GradedHopfAlgebrasWithBasis
- class ParentMethods[source]#
Bases:
object
- antipode()[source]#
The antipode of this Hopf algebra.
If
antipode_basis()
is available, this constructs the antipode morphism fromself
toself
by extending it by linearity. Otherwise,self.antipode_by_coercion()
is used, if available.EXAMPLES:
sage: # needs sage.groups 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)])
>>> from sage.all import * >>> # needs sage.groups >>> 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 >>> A = HopfAlgebrasWithBasis(QQ).example() >>> [a,b] = A.algebra_generators() >>> a, A.antipode(a) (B[(1,2,3)], B[(1,3,2)]) >>> b, A.antipode(b) (B[(1,3)], B[(1,3)])
- antipode_on_basis(x)[source]#
The antipode of the Hopf algebra on the basis (optional)
INPUT:
x
– an index of an element of the basis ofself
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: # needs sage.groups sage: A = HopfAlgebrasWithBasis(QQ).example() sage: W = A.basis().keys(); W Dihedral group of order 6 as a permutation group sage: w = W.gen(0); w (1,2,3) sage: A.antipode_on_basis(w) B[(1,3,2)]
>>> from sage.all import * >>> # needs sage.groups >>> A = HopfAlgebrasWithBasis(QQ).example() >>> W = A.basis().keys(); W Dihedral group of order 6 as a permutation group >>> w = W.gen(Integer(0)); w (1,2,3) >>> A.antipode_on_basis(w) B[(1,3,2)]
- Super[source]#
alias of
SuperHopfAlgebrasWithBasis
- class TensorProducts(category, *args)[source]#
Bases:
TensorProductsCategory
The category of Hopf algebras with basis constructed by tensor product of Hopf algebras with basis
- extra_super_categories()[source]#
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 Hopf algebras over Rational Field, Category of tensor products of algebras with basis over Rational Field]
>>> from sage.all import * >>> C = HopfAlgebrasWithBasis(QQ).TensorProducts() >>> C.extra_super_categories() [Category of Hopf algebras with basis over Rational Field] >>> sorted(C.super_categories(), key=str) [Category of Hopf algebras with basis over Rational Field, Category of tensor products of Hopf algebras over Rational Field, Category of tensor products of algebras with basis over Rational Field]
- example(G=None)[source]#
Returns an example of algebra with basis:
sage: HopfAlgebrasWithBasis(QQ['x']).example() # needs sage.groups 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
>>> from sage.all import * >>> HopfAlgebrasWithBasis(QQ['x']).example() # needs sage.groups 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)) # needs sage.groups An example of Hopf algebra with basis: the group algebra of the Symmetric group of order 4! as a permutation group over Rational Field
>>> from sage.all import * >>> HopfAlgebrasWithBasis(QQ).example(SymmetricGroup(Integer(4))) # needs sage.groups An example of Hopf algebra with basis: the group algebra of the Symmetric group of order 4! as a permutation group over Rational Field