Workshop on Computational Knot theory

Universal sl_2 invariants of tangles
By Dror Bar-Natan (Toronto) and Roland van der Veen (Groningen)

$k=0; (*Set the precision of the invariant, $k=0 is related to Alexander, $k=1 more powerful, $k>1 is not practical in this implementation*)

(*Needs the Knot theory package freely available from www.katlas.org
The main code is hidden in this cell*)
Once[<<KnotTheory`];

The “Speedy” Engine

(Subscript[PP, _])=Identity; $k=1;γ=1;ℏ=1;

Internal Utilities

Canonical Form:

CCF[ℰ_] := ExpandDenominator@ExpandNumerator@Together[
Expand[ℰ] //. (E^(x_))(E^(y_)):>(E^(x+y)) /. (E^(x_)):>(E^(CCF[x]))];
CF[ℰ_List]:=CF/@ℰ;
CF[sd_SeriesData] := MapAt[CF,sd,3];
CF[ℰ_] := Module[
{vs=Cases[ℰ,(Subscript[(y|b|t|a|x|η|β|τ|α|ξ), _]),∞]⋃{y,b,t,a,x,η,β,τ,α,ξ}},
Total[CoefficientRules[Expand[ℰ], vs] /. (ps_->c_) :> CCF[c](Times@@(vs^ps))]
];
CF[ℰ_𝔼]:=CF/@ℰ; CF[(Subscript[𝔼, sp___])[ℰs___]]:=CF/@(Subscript[𝔼, sp])[ℰs];

The Kronecker δ:

Kδ/:(Subscript[Kδ, i_,j_]):=If[i===j,1,0];

Equality, multiplication, and degree-adjustment of perturbed Gaussians; 𝔼[L,Q,P] stands for (e^(L+Q))P:

𝔼/:𝔼[L1_,Q1_,P1_]≡𝔼[L2_,Q2_,P2_]:=CF[L1==L2]∧CF[Q1==Q2]∧CF[Normal[P1-P2]==0];
𝔼/:𝔼[L1_,Q1_,P1_]𝔼[L2_,Q2_,P2_]:=𝔼[L1+L2,Q1+Q2,P1*P2];
(Subscript[𝔼[L_,Q_,P_], $k_]):=𝔼[L,Q,Series[Normal@P,{ϵ,0,$k}]];

Zip and Bind

Variables and their duals:

{(SuperStar[t]),(SuperStar[b]),(SuperStar[y]),(SuperStar[a]),(SuperStar[x]),(SuperStar[z])}={τ,β,η,α,ξ,ζ}; 
{(SuperStar[τ]),(SuperStar[β]),(SuperStar[η]),(SuperStar[α]),(SuperStar[ξ]),(SuperStar[ζ])}={t,b,y,a,x,z}; (SuperStar[((Subscript[u_, i_]))]):=(Subscript[((SuperStar[u])), i]);

Upper to lower and lower to Upper:

U2l={(Subscript[B, i_]^(p_.)):>(E^(-p ℏ γ (Subscript[b, i]))),(B^(p_.)):>(E^(-p ℏ γ b)), (Subscript[T, i_]^(p_.)):>(E^(-p ℏ (Subscript[t, i]))),(T^(p_.)):>(E^(-p ℏ t)),(Subscript[𝒜, i_]^(p_.)):>(E^(p γ (Subscript[α, i]))),(𝒜^(p_.)):>(E^(p γ α))}; 
l2U={(E^(c_.(Subscript[b, i_])+d_.)):>(Subscript[B, i]^(-c/(ℏ γ)))(E^d),(E^(c_.b+d_.)):>(B^(-c/(ℏ γ)))(E^d),
(E^(c_.(Subscript[t, i_])+d_.)):>(Subscript[T, i]^(-c/ℏ))(E^d),(E^(c_.t+d_.)):>(T^(-c/ℏ))(E^d),
(E^(c_.(Subscript[α, i_])+d_.)):>(Subscript[𝒜, i]^(c/γ))(E^d),(E^(c_.α+d_.)):>(𝒜^(c/γ))(E^d),
(E^(ℰ_)):>(E^(Expand@ℰ))};

Derivatives in the presence of exponentiated variables:

(Subscript[D, b])[f_]:=(∂_b)f-ℏ γ B(∂_B)f; (Subscript[D, (Subscript[b, i_])])[f_]:=(∂_(Subscript[b, i]))f-ℏ γ (Subscript[B, i])(∂_(Subscript[B, i]))f;
(Subscript[D, t])[f_]:=(∂_t)f-ℏ T(∂_T)f; (Subscript[D, (Subscript[t, i_])])[f_]:=(∂_(Subscript[t, i]))f-ℏ (Subscript[T, i])(∂_(Subscript[T, i]))f; 
(Subscript[D, α])[f_]:=(∂_α)f+γ 𝒜 (∂_𝒜)f; (Subscript[D, (Subscript[α, i_])])[f_]:=(∂_(Subscript[α, i]))f+γ (Subscript[𝒜, i]) (∂_(Subscript[𝒜, i]))f;
(Subscript[D, v_])[f_]:=(∂_v)f; (Subscript[D, {v_,0}])[f_]:=f; (Subscript[D, {}])[f_]:=f; (Subscript[D, {v_,n_Integer}])[f_]:=(Subscript[D, v])[(Subscript[D, {v,n-1}])[f]];
(Subscript[D, {l_List,ls___}])[f_]:=(Subscript[D, {ls}])[(Subscript[D, l])[f]];

Finite Zips:

collect[sd_SeriesData, ζ_] := MapAt[collect[#,ζ]&,sd,3];
collect[ℰ_,ζ_] := Collect[ℰ,ζ];
(Subscript[Zip, {}])[P_]:=P;
(Subscript[Zip, ζs_])[Ps_List]:=(Subscript[Zip, ζs])/@Ps;
(Subscript[Zip, {ζ_,ζs___}])[P_] := 
(collect[P//(Subscript[Zip, {ζs}]),ζ] /. f_.(ζ^(d_.)):>((Subscript[D, {(SuperStar[ζ]),d}])[f]))/.(SuperStar[ζ])->0/.(((SuperStar[ζ])/.{b->B,t->T,α->𝒜})->1)

QZip implements the “Q-level zips” on 𝔼(L,Q,P)=(e^(L+Q))P(ϵ). Such zips regard the L variables as scalars.

(Subscript[QZip, ζs_List])@𝔼[L_,Q_,P_] := Module[{ζ,z,zs,c,ys,ηs,qt,zrule,ζrule,out},
zs=Table[(SuperStar[ζ]),{ζ,ζs}];
c=CF[Q/.Alternatives@@(ζs⋃zs)->0];
ys=CF@Table[(∂_ζ)(Q/.Alternatives@@zs->0),{ζ,ζs}];
ηs=CF@Table[(∂_z)(Q/.Alternatives@@ζs->0),{z,zs}];
qt=CF@Inverse@Table[(Subscript[Kδ, z,(SuperStar[ζ])])-(∂_(z,ζ))Q,{ζ,ζs},{z,zs}];
zrule=Thread[zs->CF[qt.(zs+ys)]];
ζrule=Thread[ζs->ζs+ηs.qt];
CF /@ 𝔼[L,c+ηs.qt.ys,Det[qt](Subscript[Zip, ζs])[P/.(zrule⋃ζrule)]] ];

LZip implements the “L-level zips” on 𝔼(L,Q,P)=((Pe)^(L+Q)). Such zips regard all of ((Pe)^Q) as a single”P”. Here the z’s are b and α and the ζ’s are β and a.

(Subscript[LZip, ζs_List])@𝔼[L_,Q_,P_] := Module[{ζ,z,zs,Zs,c,ys,ηs,lt,zrule,Zrule,ζrule,Q1,EEQ,EQ},
zs=Table[(SuperStar[ζ]),{ζ,ζs}];
Zs=zs/.{b->B,t->T,α->𝒜};
c=L/.Alternatives@@(ζs⋃zs)->0/.Alternatives@@Zs->1;
ys=Table[(∂_ζ)(L/.Alternatives@@zs->0),{ζ,ζs}];
ηs=Table[(∂_z)(L/.Alternatives@@ζs->0),{z,zs}];
lt=Inverse@Table[(Subscript[Kδ, z,(SuperStar[ζ])])-(∂_(z,ζ))L,{ζ,ζs},{z,zs}];
zrule=Thread[zs->lt.(zs+ys)];
Zrule=Join[zrule,zrule/.r_Rule:>((U=r[[1]]/.{b->B,t->T,α->𝒜})->(U/.U2l/.r//.l2U))];
ζrule=Thread[ζs->ζs+ηs.lt];
Q1=Q/.(Zrule⋃ζrule);
EEQ[ps___]:=EEQ[ps]=(CF[(E^(-Q1))(Subscript[D, Thread[{zs,{ps}}]])[(E^Q1)]]/.{Alternatives@@zs->0,Alternatives@@Zs->1});
CF@𝔼[c+ηs.lt.ys,Q1/.{Alternatives@@zs->0,Alternatives@@Zs->1},
Det[lt]((Subscript[Zip, ζs])[(EQ@@zs)(P/.(Zrule⋃ζrule))] /. Derivative[ps___][EQ][___] :> EEQ[ps] /. _EQ->1)  ] ];

(Subscript[B, {}])[L_,R_]:=L R;
(Subscript[B, {is__}])[L_𝔼,R_𝔼] := Module[{n},
Times[
L/.Table[(Subscript[(v:b|B|t|T|a|x|y), i])->(Subscript[v, n@i]),{i,{is}}],
R/.Table[(Subscript[(v:β|τ|α|𝒜|ξ|η), i])->(Subscript[v, n@i]),{i,{is}}]
] // (Subscript[LZip, Join@@Table[{(Subscript[β, n@i]),(Subscript[τ, n@i]),(Subscript[a, n@i])},{i,{is}}]]) // (Subscript[QZip, Join@@Table[{(Subscript[ξ, n@i]),(Subscript[y, n@i])},{i,{is}}]]) ];
(Subscript[B, is___])[L_,R_]:=(Subscript[B, {is}])[L,R];

𝔼 morphisms with domain and range.

(Subscript[B, is_List])[(Subscript[𝔼, d1_->r1_])[L1_,Q1_,P1_],(Subscript[𝔼, d2_->r2_])[L2_,Q2_,P2_]]:=(Subscript[𝔼, (d1⋃Complement[d2,is])->(r2⋃Complement[r1,is])])@@(Subscript[B, is])[𝔼[L1,Q1,P1],𝔼[L2,Q2,P2]];
(Subscript[𝔼, d1_->r1_])[L1_,Q1_,P1_]//(Subscript[𝔼, d2_->r2_])[L2_,Q2_,P2_] := (Subscript[B, r1⋂d2])[(Subscript[𝔼, d1->r1])[L1,Q1,P1],(Subscript[𝔼, d2->r2])[L2,Q2,P2]];
(Subscript[𝔼, d1_->r1_])[L1_,Q1_,P1_]≡(Subscript[𝔼, d2_->r2_])[L2_,Q2_,P2_] ^:= (d1==d2)∧(r1==r2)∧(𝔼[L1,Q1,P1]≡𝔼[L2,Q2,P2]);
(Subscript[𝔼, d1_->r1_])[L1_,Q1_,P1_](Subscript[𝔼, d2_->r2_])[L2_,Q2_,P2_] ^:= (Subscript[𝔼, (d1⋃d2)->(r1⋃r2)])@@(𝔼[L1,Q1,P1]𝔼[L2,Q2,P2]);
(Subscript[(Subscript[𝔼, dr_])[L_,Q_,P_], $k_]):=(Subscript[𝔼, dr])@@(Subscript[𝔼[L,Q,P], $k]);
(Subscript[𝔼, _])[ℰ___][i_]:={ℰ}[[i]];

𝔼[Λ]

(Subscript[𝔼, dr_])[Λ_]:=CF@Module[{L,Λ0=Limit[Λ,ϵ->0]},(Subscript[(Subscript[𝔼, dr])[L=Λ0 /. (Subscript[(η|y|ξ|x), _])->0,Λ0-L,(E^(Λ-Λ0))], $k])/.l2U]

“Define” Code

Define[lhs=rhs, ...] defines the lhs to be rhs, except that rhs is computed only once for each value of $k. Fancy Mathematica not for the faint of heart. Most readers should ignore.

SetAttributes[Define, HoldAll];
Define[def_,defs__] := (Define[def]; Define[defs];);
Define[(Subscript[op_, is__])=ℰ_] := Module[{SD,ii,jj,kk,isp,nis,nisp,sis},Block[{i,j,k},
ReleaseHold[Hold[
SD[(Subscript[op, nisp,$k_Integer]),Block[{i,j,k},(Subscript[op, isp,$k])=ℰ;(Subscript[op, nis,$k])]];
SD[(Subscript[op, isp]),(Subscript[op, {is},$k])]; SD[(Subscript[op, sis__]),(Subscript[op, {sis}])];
]/. {SD->SetDelayed,
isp->{is}/.{i->i_,j->j_,k->k_},
nis->{is}/.{i->ii,j->jj,k->kk},
nisp->{is}/.{i->ii_,j->jj_,k->kk_}
}]  ]]

The Objects

Symmetric Algebra Objects

(Subscript[sm, i_,j_->k_]):=(Subscript[𝔼, {i,j}->{k}])[(Subscript[b, k])((Subscript[β, i])+(Subscript[β, j]))+(Subscript[t, k])((Subscript[τ, i])+(Subscript[τ, j]))+(Subscript[a, k])((Subscript[α, i])+(Subscript[α, j]))+(Subscript[y, k])((Subscript[η, i])+(Subscript[η, j]))+(Subscript[x, k])((Subscript[ξ, i])+(Subscript[ξ, j]))];
(Subscript[sΔ, i_->j_,k_]):=(Subscript[𝔼, {i}->{j,k}])[(Subscript[β, i])((Subscript[b, j])+(Subscript[b, k]))+(Subscript[τ, i])((Subscript[t, j])+(Subscript[t, k]))+(Subscript[α, i])((Subscript[a, j])+(Subscript[a, k]))+(Subscript[η, i])((Subscript[y, j])+(Subscript[y, k]))+(Subscript[ξ, i])((Subscript[x, j])+(Subscript[x, k]))];
(Subscript[sS, i_]):=(Subscript[𝔼, {i}->{i}])[-(Subscript[β, i])(Subscript[b, i])-(Subscript[τ, i])(Subscript[t, i])-(Subscript[α, i])(Subscript[a, i])-(Subscript[η, i])(Subscript[y, i])-(Subscript[ξ, i])(Subscript[x, i])];
(Subscript[sϵ, i_]):=(Subscript[𝔼, {}->{i}])[0];(Subscript[sη, i_]):=(Subscript[𝔼, {i}->{}])[0];

(Subscript[sσ, i_->j_]):=(Subscript[𝔼, {i}->{j}])[(Subscript[β, i])(Subscript[b, j])+(Subscript[τ, i])(Subscript[t, j])+(Subscript[α, i])(Subscript[a, j])+(Subscript[η, i])(Subscript[y, j])+(Subscript[ξ, i])(Subscript[x, j])];
(Subscript[sΥ, i_->j_,k_,l_,m_]):=(Subscript[𝔼, {i}->{j,k,l,m}])[(Subscript[β, i])(Subscript[b, k])+(Subscript[τ, i])(Subscript[t, k])+(Subscript[α, i])(Subscript[a, l])+(Subscript[η, i])(Subscript[y, j])+(Subscript[ξ, i])(Subscript[x, m])];

Booting Up QU

Define[(Subscript[aσ, i->j])=(Subscript[𝔼, {i}->{j}])[(Subscript[a, j]) (Subscript[α, i])+(Subscript[x, j]) (Subscript[ξ, i])],(Subscript[bσ, i->j])=(Subscript[𝔼, {i}->{j}])[(Subscript[b, j]) (Subscript[β, i])+(Subscript[y, j]) (Subscript[η, i])]]

Define[(Subscript[am, i,j->k])=(Subscript[𝔼, {i,j}->{k}])[((Subscript[α, i])+(Subscript[α, j]))(Subscript[a, k])+((Subscript[𝒜, j]^(-1))(Subscript[ξ, i])+(Subscript[ξ, j]))(Subscript[x, k])],
(Subscript[bm, i,j->k])=(Subscript[𝔼, {i,j}->{k}])[((Subscript[β, i])+(Subscript[β, j]))(Subscript[b, k])+((Subscript[η, i])+(E^(- ϵ (Subscript[β, i])))(Subscript[η, j]))(Subscript[y, k])]]

Three types of inverses appear below!
(OverBar[R]) is the inverse of R in the algebra 𝔹⊗𝔸.
P is the inverse of R as a quadratic form, like how an element of (SuperStar[V])⊗(SuperStar[V]) can be the inverse of an element of V⊗V. As a map P : 𝔸⊗𝔹 -> Q.
(OverBar[aS]) is the inverse of aS as an operator form, like how an element of (SuperStar[V])⊗V can be the inverse of another element of (SuperStar[V])⊗V.

Define[(Subscript[R, i,j])=(Subscript[𝔼, {}->{i,j}])[ℏ (Subscript[a, j]) (Subscript[b, i])+(∑_(k=1)^($k+1)) (((((1-(E^(γ ϵ ℏ))))^k)(((ℏ (Subscript[y, i])(Subscript[x, j])))^k))/(k(1-(E^(k γ ϵ ℏ)))))],
(Subscript[(OverBar[R]), i,j])=CF@(Subscript[𝔼, {}->{i,j}])[-ℏ (Subscript[a, j]) (Subscript[b, i]),-ℏ (Subscript[x, j]) (Subscript[y, i])/(Subscript[B, i]),1+If[$k==0, 0,(Subscript[((Subscript[(OverBar[R]), {i,j},$k-1])), $k])[3]-
(((Subscript[((Subscript[(OverBar[R]), {i,j},0])), $k])(Subscript[R, 1,2])(Subscript[((Subscript[(OverBar[R]), {3,4},$k-1])), $k]))//((Subscript[bm, i,1->i])(Subscript[am, j,2->j]))//((Subscript[bm, i,3->i])(Subscript[am, j,4->j])))[3]]],
(Subscript[P, i,j])=(Subscript[𝔼, {i,j}->{}])[(Subscript[β, j])(Subscript[α, i])/ℏ,(Subscript[η, j])(Subscript[ξ, i])/ℏ,1+If[$k==0,0,(Subscript[((Subscript[P, {i,j},$k-1])), $k])[3]-
((Subscript[R, 1,2])//((Subscript[((Subscript[P, {i,1},0])), $k])(Subscript[((Subscript[P, {2,j},$k-1])), $k])))[3]]]]

Define[(Subscript[aS, i])=((Subscript[aσ, i->2])(Subscript[(OverBar[R]), 1,i]))//(Subscript[P, 2,1]),
(Subscript[(OverBar[aS]), i])=(Subscript[𝔼, {i}->{i}])[-(Subscript[a, i]) (Subscript[α, i]),-(Subscript[x, i]) (Subscript[𝒜, i]) (Subscript[ξ, i]),1+If[$k==0, 0,(Subscript[((Subscript[(OverBar[aS]), {i},$k-1])), $k])[3]-
((Subscript[((Subscript[(OverBar[aS]), {i},0])), $k])//(Subscript[aS, i])//(Subscript[((Subscript[(OverBar[aS]), {i},$k-1])), $k]))[3]]]]

Define[(Subscript[bS, i])=(Subscript[bσ, i->1])(Subscript[R, i,2])//(Subscript[aS, 2])//(Subscript[P, 2,1]),
(Subscript[(OverBar[bS]), i])=(Subscript[bσ, i->1])(Subscript[R, i,2])//(Subscript[(OverBar[aS]), 2])//(Subscript[P, 2,1]),
(Subscript[aΔ, i->j,k])=((Subscript[R, 1,j])(Subscript[R, 2,k]))//(Subscript[bm, 1,2->3])//(Subscript[P, i,3]),
(Subscript[bΔ, i->j,k])=((Subscript[R, j,1])(Subscript[R, k,2]))//(Subscript[am, 1,2->3])//(Subscript[P, 3,i])]

Define[(Subscript[dm, i,j->k])=(((Subscript[sΥ, i->4,4,1,1])//(Subscript[aΔ, 1->1,2])//(Subscript[aΔ, 2->2,3])//(Subscript[(OverBar[aS]), 3]))((Subscript[sΥ, j->-1,-1,-4,-4])//(Subscript[bΔ, -1->-1,-2])//(Subscript[bΔ, -2->-2,-3])))//((Subscript[P, 1,-3])(Subscript[P, 3,-1])(Subscript[am, 2,-4->k])(Subscript[bm, 4,-2->k]))]

NB. We use the co-algebra structure B tensor (A^cop). This has the benefit of making our algebra quasi-triangular in the traditional sense of the word.
Watch out: (Subscript[Δ, i->j,k]) means j is to the RIGHT of strand k and dS looks like an S.

Define[(Subscript[dσ, i->j])=(Subscript[aσ, i->j])(Subscript[bσ, i->j]),
(Subscript[dϵ, i])=(Subscript[sϵ, i]), (Subscript[dη, i])=(Subscript[sη, i]),
(Subscript[dS, i])=(Subscript[sΥ, i->1,1,2,2])//((Subscript[bS, 1])(Subscript[(OverBar[aS]), 2]))//(Subscript[dm, 2,1->i]),
(Subscript[(OverBar[dS]), i])=(Subscript[sΥ, i->1,1,2,2])//((Subscript[(OverBar[bS]), 1])(Subscript[aS, 2]))//(Subscript[dm, 2,1->i]),
(Subscript[dΔ, i->j,k])=((Subscript[bΔ, i->1,3])(Subscript[aΔ, i->4,2]))//((Subscript[dm, 3,4->k])(Subscript[dm, 1,2->j]))]

Define[(Subscript[C, i])=(Subscript[(Subscript[𝔼, {}->{i}])[0,0,(Subscript[B, i]^(1/2))(E^(-ℏ ϵ (Subscript[a, i])/2))], $k]),
(Subscript[(OverBar[C]), i])=(Subscript[(Subscript[𝔼, {}->{i}])[0,0,(Subscript[B, i]^(-1/2))(E^(ℏ ϵ (Subscript[a, i])/2))], $k]),
(Subscript[c, i])=(Subscript[(Subscript[𝔼, {}->{i}])[0,0,(Subscript[B, i]^(1/4))(E^(-ℏ ϵ (Subscript[a, i])/4))], $k]),
(Subscript[(OverBar[c]), i])=(Subscript[(Subscript[𝔼, {}->{i}])[0,0,(Subscript[B, i]^(-1/4))(E^(ℏ ϵ (Subscript[a, i])/4))], $k]),
(Subscript[Kink, i]) = ((Subscript[R, 1,3])(Subscript[(OverBar[C]), 2]))//(Subscript[dm, 1,2->1])//(Subscript[dm, 1,3->i]),
(Subscript[(OverBar[Kink]), i]) = ((Subscript[(OverBar[R]), 1,3])(Subscript[C, 2]))//(Subscript[dm, 1,2->1])//(Subscript[dm, 1,3->i]),
(Subscript[ρ, i])=((Subscript[c, 1])(Subscript[(OverBar[c]), 3])(Subscript[dS, i]))//(Subscript[dm, 1,i->i])//(Subscript[dm, i,3->i])](*ρ reverses a strand*)

Note. t=-ϵa+γb and b=t/γ+ϵa/γ

Define[(Subscript[b2t, i])=(Subscript[𝔼, {i}->{i}])[(Subscript[α, i])(Subscript[a, i])+(Subscript[β, i])(ϵ (Subscript[a, i])+(Subscript[t, i]))/γ+(Subscript[ξ, i])(Subscript[x, i])+(Subscript[η, i])(Subscript[y, i])],
(Subscript[t2b, i])=(Subscript[𝔼, {i}->{i}])[(Subscript[α, i])(Subscript[a, i])+(Subscript[τ, i])(-ϵ (Subscript[a, i])+γ (Subscript[b, i]))+(Subscript[ξ, i])(Subscript[x, i])+(Subscript[η, i])(Subscript[y, i])]]

Define[(Subscript[kR, i,j])=(Subscript[R, i,j])//((Subscript[b2t, i])(Subscript[b2t, j])) /. (Subscript[t, i|j])->t,
(Subscript[(OverBar[kR]), i,j])=(Subscript[(OverBar[R]), i,j])//((Subscript[b2t, i])(Subscript[b2t, j])) /. {(Subscript[t, i|j])->t,(Subscript[T, i|j])->T},
(Subscript[km, i,j->k])=(((Subscript[t2b, i])(Subscript[t2b, j]))//(Subscript[dm, i,j->k])//(Subscript[b2t, k]) )/. {(Subscript[t, k])->t, (Subscript[T, k])->T,(Subscript[τ, i|j])->0},
(Subscript[kC, i])=((Subscript[C, i])//(Subscript[b2t, i]) )/. (Subscript[T, i])->T,
(Subscript[(OverBar[kC]), i])=((Subscript[(OverBar[C]), i])//(Subscript[b2t, i]) )/. (Subscript[T, i])->T,
(Subscript[kKink, i])=(Subscript[Kink, i])//(Subscript[b2t, i]) /. {(Subscript[t, i])->t, (Subscript[T, i])->T},
(Subscript[(OverBar[kKink]), i])=(Subscript[(OverBar[Kink]), i])//(Subscript[b2t, i]) /. {(Subscript[t, i])->t, (Subscript[T, i])->T}]

Define[(Subscript[BS, i,j->k])=(Subscript[C, 3])(Subscript[C, 4])(Subscript[dΔ, i->l1,r1])(Subscript[dΔ, j->l2,r2])//(Subscript[(OverBar[dS]), r1])//(Subscript[dS, r2])//(Subscript[dm, l1,3->k])//(Subscript[dm, k,r2->k])//(Subscript[dm, k,r1->k])//(Subscript[dm, k,4->k])//(Subscript[dm, k,l2->k])]
Define[(Subscript[tBS, i,j->k])=((Subscript[t2b, i])(Subscript[t2b, j]))//(Subscript[C, 3])(Subscript[C, 4])(Subscript[dΔ, i->l1,r1])(Subscript[dΔ, j->l2,r2])//(Subscript[(OverBar[dS]), r1])//(Subscript[dS, r2])//(Subscript[dm, l1,3->k])//(Subscript[dm, k,r2->k])//(Subscript[dm, k,r1->k])//(Subscript[dm, k,4->k])//(Subscript[dm, k,l2->k])//(Subscript[b2t, k])]
Define[(Subscript[tm, i,j->k])=(Subscript[t2b, i])//(Subscript[t2b, j])//(Subscript[dm, i,j->k])//(Subscript[b2t, k])]
Define[(Subscript[tΔ, i->j,k])=(Subscript[t2b, i])//(Subscript[dΔ, i->j,k])//(Subscript[b2t, j])//(Subscript[b2t, k])]
Define[(Subscript[tS, i])=(Subscript[t2b, i])//(Subscript[dS, i])//(Subscript[b2t, i])]
Define[(Subscript[(OverBar[tS]), i])=(Subscript[t2b, i])//(Subscript[(OverBar[dS]), i])//(Subscript[b2t, i])]
Define[(Subscript[tR, i,j])=(Subscript[R, i,j])//(Subscript[b2t, i])//(Subscript[b2t, j]),(Subscript[(OverBar[tR]), i,j])=(Subscript[(OverBar[R]), i,j])//(Subscript[b2t, i])//(Subscript[b2t, j])]
Define[(Subscript[tC, i])=(Subscript[C, i])//(Subscript[b2t, i]) ,(Subscript[(OverBar[tC]), i])=(Subscript[(OverBar[C]), i])//(Subscript[b2t, i]) ]
Define[(Subscript[tKink, i])=(Subscript[Kink, i])//(Subscript[b2t, i]) ,(Subscript[(OverBar[tKink]), i])=(Subscript[(OverBar[Kink]), i])//(Subscript[b2t, i])]

RVK[pd_PD]:=(Subscript[PP, RVK])@Module[{n,xs,x,rots,front={0},k},
n=Length@pd;rots=Table[0,{2n}];
xs=Cases[pd,x_X:>(Piecewise[{{Xp[x[[4]],x[[1]]], PositiveQ@x}, {Xm[x[[2]],x[[1]]], True}}])];
For[k=0,k<2n,++k,If[k==0∨FreeQ[front,-k],
front=Flatten[front/.k->(xs/.{
Xp[k+1,l_]|Xm[l_,k+1]:>{l,k+1,1-l},
Xp[l_,k+1]|Xm[k+1,l_]:>(++rots[[l]];{1-l,k+1,l})
})],
Cases[front,k|-k]/.{k,-k}:>--rots[[k+1]];
]];
RVK[xs,rots] ];
RVK[K_]:=RVK[PD[K]];

rot[i_,0]:=(Subscript[𝔼, {}->{i}])[0,0,1];
rot[i_,n_]:=Module[{j},
rot[i,n]=If[n>0,rot[i,n-1](Subscript[kC, j]),rot[i,n+1](Subscript[(OverBar[kC]), j])]//(Subscript[km, i,j->i])];

Z[K_] := Z[RVK@K];
Z[rvk_RVK] := (*Z[rvk] =*)Module[{todo,n,rots,ζ,done,st,cx, ζ1, i,j,k,k1,k2,k3},
{todo,rots}=List@@rvk;
AppendTo[rots,0];
n=Length[todo];
ζ=(Subscript[𝔼, {}->{0}])[0,0,1];
done={0};
st=Range[0,2n+1];
While[{}=!=($M=todo),
{cx}=MaximalBy[todo, Length[done⋂{#[[1]], #[[2]], #[[1]]-1,#[[2]]-1}]&,1];
{i,j}=List@@cx;
ζ1=Switch[Head[cx],
 Xp, ((Subscript[kR, i,j])(Subscript[(OverBar[kKink]), k]))//(Subscript[km, j,k->j]),
 Xm, ((Subscript[(OverBar[kR]), i,j])(Subscript[kKink, k]))//(Subscript[km, j,k->j])
];
ζ1=(rot[k,rots[[i]]]ζ1)//(Subscript[km, k,i->i]); rots[[i]]=0;
ζ1=(ζ1 rot[k, rots[[i+1]]])//(Subscript[km, i,k->i]); rots[[i+1]]=0;
ζ1=(rot[k,rots[[j]]]ζ1)//(Subscript[km, k,j->j]); rots[[j]]=0;
ζ1=(ζ1 rot[k, rots[[j+1]]])//(Subscript[km, j,k->j]); rots[[j+1]]=0;
ζ*=ζ1;
If[MemberQ[done, i], ζ=ζ//(Subscript[km, i,i+1->i]); st=st/.st[[i+2]]->st[[i+1]]];
If[MemberQ[done, i-1],  ζ=ζ//(Subscript[km, st[[i]],i->st[[i]]]); st=st/.st[[i+1]]->st[[i]]]; 
If[MemberQ[done, j],  ζ=ζ//(Subscript[km, j,j+1->j]); st=st/.st[[j+2]]->st[[j+1]]]; 
If[MemberQ[done, j-1],  ζ=ζ//(Subscript[km, st[[j]],j->st[[j]]]); st=st/.st[[j+1]]->st[[j]]];
done=done⋃{i-1,i,j-1,j};
todo=DeleteCases[todo, cx]
];
CF/@ (ζ /. {(Subscript[x, 0])->x,(Subscript[y, 0])->y,(Subscript[a, 0])->a})
]

(Subscript[ρ, 1])[K_]:=Module[{Alex,Con,ZZ=Z[K][[3]]//Normal},
Alex=1/(ZZ/.ϵ->0);Con=(Coefficient[ZZ,ϵ]/.{a->-1/2,x->0})(Alex^3)((-T)/(((T-1))^2))//Together//Expand]

Building blocks of tangles: (Subscript[R, i,j]), (OverBar[(Subscript[R, i,j])]) ,(Subscript[C, i])
product  =  disjoint union
To be merged using (Subscript[dm, i,j->k])
(note, tangles should only contain open components)

(Subscript[R, 1,2])(Subscript[R, 3,4])//(Subscript[dm, 1,4->r])//(Subscript[dm, 2,3->s])

(Subscript[R, 1,2])(Subscript[(OverBar[R]), 4,3])//(Subscript[dm, 1,4->r])//(Subscript[dm, 2,3->s])

(Subscript[R, 1,4])(Subscript[R, 5,2])(Subscript[R, 3,6])//(Subscript[dm, 1,2->1])//(Subscript[dm, 1,3->1])//(Subscript[dm, 1,4->1])//(Subscript[dm, 1,5->1])//(Subscript[dm, 1,6->1])

Notice the ALEXANDER polynomial turns up in the third slot!

Z=(Subscript[R, 5,1])(Subscript[R, 2,6])(Subscript[R, 7,3])(Subscript[C, 4])(Subscript[(OverBar[Kink]), 8])(Subscript[(OverBar[Kink]), 9])(Subscript[(OverBar[Kink]), 10]);Do[Z=Z//(Subscript[dm, 1,i->1]),{i,2,10}];Z

(Subscript[Kink, 1])

(Subscript[R, i,j]) and (Subscript[(OverBar[R]), i,j])

Hopf algebra features

co-associativity

((Subscript[dΔ, 1->1,2])//(Subscript[dΔ, 2->2,3]))≡((Subscript[dΔ, 1->2,3])//(Subscript[dΔ, 2->1,2]))

algebra morphism

((Subscript[dΔ, i->1,2])(Subscript[dΔ, j->3,4])//(Subscript[dm, 1,3->i])//(Subscript[dm, 2,4->j]))≡((Subscript[dm, i,j->k])//(Subscript[dΔ, k->i,j]))

associativity

((Subscript[dm, 1,2->k])//(Subscript[dm, k,3->k]))≡((Subscript[dm, 2,3->k])//(Subscript[dm, 1,k->k]))

antipode

(Subscript[dΔ, i->1,2])//(Subscript[dS, 1])//(Subscript[dm, 1,2->1])
(Subscript[dΔ, i->1,2])//(Subscript[dS, 2])//(Subscript[dm, 1,2->1])

quasi-triangular axioms

((Subscript[R, 1,3])//(Subscript[dΔ, 1->1,2]))≡((Subscript[R, 1,3])(Subscript[R, 2,4])//(Subscript[dm, 3,4->3]))
((Subscript[R, 1,3])//(Subscript[dΔ, 3->2,3]))≡((Subscript[R, 1,3])(Subscript[R, 0,2])//(Subscript[dm, 1,0->1]))
((Subscript[dΔ, i->k,j])(Subscript[R, 1,2])//(Subscript[dm, j,1->1])//(Subscript[dm, k,2->2]))≡((Subscript[R, 1,2])(Subscript[dΔ, i->j,k])//(Subscript[dm, 1,j->1])//(Subscript[dm, 2,k->2]))

((Subscript[R, 1,2])//(Subscript[aS, 2]))≡((Subscript[(OverBar[R]), 1,2]))

((Subscript[R, 1,2])//(Subscript[dS, 1]))≡((Subscript[(OverBar[R]), 1,2]))
((Subscript[R, 1,2])//(Subscript[(OverBar[dS]), 2]))≡((Subscript[(OverBar[R]), 1,2]))

(Subscript[QQ, s_,r_]):=(Subscript[R, 11,22])(Subscript[R, 33,44])//(Subscript[dm, 11,44->s])//(Subscript[dm, 22,33->r])
(Subscript[(OverBar[QQ]), s_,r_]):=(Subscript[(OverBar[R]), 22,11])(Subscript[(OverBar[R]), 44,33])//(Subscript[dm, 11,44->s])//(Subscript[dm, 22,33->r])

(Subscript[QQ, 1,2])(Subscript[(OverBar[QQ]), 3,4])//(Subscript[dm, 1,3->1])//(Subscript[dm, 2,4->2])

Drinfeld element u

(Subscript[u, i_]):=(Subscript[R, 11,22])//(Subscript[dS, 22])//(Subscript[dm, 22,11->i])
(Subscript[(OverBar[u]), i_]):=(Subscript[(OverBar[R]), 11,22])//(Subscript[(OverBar[dS]), 22])//(Subscript[dm, 22,11->i])
(Subscript[(OverBar[uu]), i_]):=(Subscript[(OverBar[R]), 11,22])//(Subscript[(OverBar[dS]), 22])//(Subscript[dm, 11,22->i])
(Subscript[(OverBar[u2]), i_]):=(Subscript[(OverBar[R]), 11,22])//(Subscript[dS, 11])//(Subscript[dm, 11,22->i])
(Subscript[(OverBar[u3]), i_]):=(Subscript[R, 11,22])//(Subscript[dS, 11])//(Subscript[dS, 11])//(Subscript[dm, 22,11->i])

(Subscript[u, i])(Subscript[(OverBar[u]), j])//(Subscript[dm, i,j->i])
(Subscript[u, i])(Subscript[(OverBar[uu]), j])//(Subscript[dm, i,j->i])
(Subscript[u, i])(Subscript[(OverBar[u2]), j])//(Subscript[dm, i,j->i])
(Subscript[u, i])(Subscript[(OverBar[u3]), j])//(Subscript[dm, i,j->i])

((Subscript[u, 1])//(Subscript[dS, 1]))
(Subscript[R, 11,22])//(Subscript[dS, 22])//(Subscript[dm, 11,22->i])

((Subscript[𝔼, {}->{1}])[0,0,((Subscript[B, 1])^(-1))(1+ϵ (Subscript[a, 1])ℏ+((ϵ^2)/2) ((Subscript[a, 1])^2)(ℏ^2))](Subscript[u, 2])//(Subscript[dm, 1,2->1]))≡((Subscript[u, 1])//(Subscript[dS, 1]))

(Subscript[u, 1])

(Subscript[ρ, 1])[Knot[3,1]](*Needs $k=1*)