Double#
- class discopy.hopf.Double(base)[source]#
Bases:
AlgebraThe Drinfeld quantum double \(D(H) = H \otimes H^*\) of a
Algebrabase(Def. 1.23 of Hopf Algebras in Quantum Computation), a quasitriangular Hopf algebra of dimensionbase.dim ** 2whose generators are composites of the base generators, their.dagger()(the \(H^*\) structure) and cups/caps — never materialised as big tensors.- Parameters:
base – The Hopf algebra to double.
The coadjoint multiplication splits \(h\) and \(\phi'\) each into three, pairs \(\phi'_1\) with \(S^{-1}(h_3)\) and \(\phi'_3\) with \(h_1\), and multiplies \(\phi \phi'_2\) in \(H^*\) and \(h_2 h'\) in \(H\) — the
orderbelow routes the wires to \(\phi'_1 h_3 \phi'_3 h_1 \phi \phi'_2 h_2 h'\). The antipode is the anti-homomorphism \((\epsilon \otimes S) \circ ((S^{-1})^* \otimes 1)\) composed with that same multiplication.>>> D = Double(Algebra.cyclic(2)) >>> assert D.dim == 4 and D.is_valid() and D.is_quasitriangular()