bracket#
The Kauffman bracket polynomial ⟨·⟩ is a polynomial invariant of unoriented framed links.
It is characterized by three rules: 1. ⟨U⟩ = 1, where U is the unknot. 2. ⟨L_X⟩ = A⟨L_0⟩ + A⁻¹⟨L_∞⟩. 3. ⟨L ⊔ U⟩ = (−A² − A⁻²)⟨L⟩.
References
Louis H. Kauffman, State models and the Jones polynomial, Topology 26 (1987), no. 3, 395–407.
- bracket(k, normalize=True)#
Compute the Kauffman bracket polynomial ⟨·⟩.
- Defined by:
⟨U⟩ = 1.
⟨L_X⟩ = A⟨L_0⟩ + A⁻¹⟨L_∞⟩.
⟨L ⊔ U⟩ = (−A² − A⁻²)⟨L⟩.
- Parameters:
k (PlanarDiagram) – Planar diagram.
normalize (bool) – If True, multiply by factor
(-A³)^{-wr(k)}
(ignore framing).
- Returns:
Laurent polynomial in variable
A
.- Raises:
ValueError – If unknot removal yields a non-empty diagram.
- Return type:
Expr
- kauffman_bracket_skein_module(k, normalize=True)#
Compute the Kauffman bracket skein module (unoriented case).
- Parameters:
k (PlanarDiagram) – Unoriented planar diagram. Oriented diagrams are not yet supported.
normalize (bool) – If True, normalize by a power of
(-A³)
depending on writhe/framing.
- Returns:
A list of pairs
(polynomial, diagram)
for the module expansion.- Raises:
NotImplementedError – If
k
is oriented.- Return type:
list[tuple[Expr, PlanarDiagram]]