Bulk-stitching the simplified 1co invariant (normalized by (ω^2), knot only version).

Input: Crossings (Subscript[R, 1,a,b]),(Subscript[R, -1,a,b]), (rightmoving) cuaps, (Subscript[u, 1,a]) and (Subscript[u, -1,a]) =(Subscript[n, a]) (collectively known as Pieces), labeled 1,..n and stitching instructions as a permutation P of {1,..n}. 
Output: The 1-co invariant of the knot, only the coefficient of epsilon of the constant term.

<<KnotTheory`;

adj[m_]:=Map[Reverse,Minors[Transpose[m],Length[m]-1],{0,1}]Table[(-1)^(i+j),{i,Length[m]},{j,Length[m]}](*We write Inverse=adj/Det.*)
(Subscript[Z, P_])[Pieces_]:=Block[{N,A,adA,ω,Q,W,H,G,ZG,ZH,corr,ZZ},
N=Length[P];
corr=Times@@(Pieces/.{(Subscript[R, s_,i_,j_])->(t^(-s)),(Subscript[u, s_,i_])->(t^(-s))});
Q= SparseArray[Pieces/.{(Subscript[R, s_,i_,j_])->{{i,j}->-s (t^(s/2)),{j,j}->s (t^(s/2))},(Subscript[x_, s_,i_])->Nothing}//Flatten,{N,N}];
Pos[i_]:=FirstPosition[P,i][[1]];
W=Table[If[Pos[i]<Pos[j],1,0],{i,1,N},{j,1,N}];
A=IdentityMatrix[N]-((t^(1/2))-(t^((-1)/2)))W.Q//Together;
ω=(corr^(1/2))Det[A];
adA=adj[A];
G=Q.adA;(*Normalized by ω, note we left (ω^(-1 ))out.*)
H=adA.W;(*Normalized by ω, note we left (ω^(-1 ))out.*)
ZG=(t-(t^(-1)))Sum[
G[[j,a]]((1/2)G[[j,b]]+Sum[ G[[c,b]],{c,Take[P,{Pos[j]+1,N}]} ]),{j,P},{a,Take[P,Pos[j]-1]},{b,Take[P,Pos[j]-1]}]//Together//Expand;
ZH=Plus@@(Pieces/.{
(Subscript[R, s_,i_,j_]):> (s((((1-(t^s)))^2)/2) ((H[[j,i]])^2)-s((((1+(t^s)))^2)/2)((H[[j,j]])^2)+s (t^s) (H[[j,i]]H[[i,j]]+H[[i,i]]H[[j,j]])+ (t^s)(1-t)H[[j,i]]((1+s)H[[j,j]]+(1-s)H[[i,i]])),
(Subscript[u, s_,i_]):>s Det[A] H[[i,i]] (*Normalized by ω*)
})//Together//Expand;
ZZ=corr(ZH+ZG)//Together;
{ω,ZZ}//PowerExpand//Expand
]
(*Rozansky's normalization (Subscript[ρ, 1])*)
(Subscript[ρ, P_])[Pieces_]:=Block[{ZZ,Z,ω},
ZZ=(Subscript[Z, P])[Pieces];
ω=ZZ[[1]];
Z=ZZ[[2]];
Normal[Series[((-t)/(((1-t))^2))(Z-t ω D[ω,t]),{t,Infinity,0}]]
]

RVK::usage="RVK[xs, rots] represents a Rotational Virtual Knot with a list of n Xp/Xm crossings xs and a length 2n list of rotation numbers rots. Crossing sites are indexed 1 through 2n, and rots[[k]] is the rotation between site k-1 and site k. RVK is also a casting operator converting to the RVK presentation from other knot presentations.";
RVK[pd_PD] := Module[{n,xs,x,rots,front,k},
n=Length[pd];
xs=List@@pd /. x_X :> If[PositiveQ[x], Xp[x[[4]],x[[1]]], Xm[x[[2]],x[[1]]]];
rots=Table[0, {2n}];
front={0};
For[k=0, k<2n, ++k,
If[k==0∨FreeQ[front, -k],
front = Flatten[front /. k->Catch[xs /. {
Xp[k+1,l_]|Xm[l_,k+1] :> Throw[{l,k+1,1-l}],
Xp[l_,k+1]|Xm[k+1,l_] :> (++rots[[l]]; Throw[{1-l,k+1,l}])
}]],
If[MatchQ[front,{___,k,___,-k,___}], --rots[[k+1]]]
]
];
RVK[xs,rots]
];
RVK[K_] := RVK[PD[K]];

(*A non-fast procedure to calculate the 1-co invariant from the KnotTheory table knots via RVK format*)
ρRVK[K_]:=Module[{RV,L,Piec,news,Pe},
RV=RVK[K];
L=Length[RV[[2]]];
Piec=RV[[1]]/.{Xm[a_,b_]->(Subscript[R, -1,a,b]),Xp[a_,b_]->(Subscript[R, 1,a,b])};
Pe= Range[L];
news=1;
For[i=1,i<=L,i++,
If[RV[[2]][[i]]==1,Piec=Append[Piec,(Subscript[u, 1,news+L])];Pe=Pe/.{i->{news+L,i}}//Flatten;news++];
If[RV[[2]][[i]]==-1,Piec=Append[Piec,(Subscript[u, -1,news+L])];Pe=Pe/.{i->{news+L,i}}//Flatten;news++];
];Clear[i];
(Subscript[ρ, Pe])[Piec]
]

(Subscript[Z, {1,2,3,4,5,6,7}])[{(Subscript[R, 1,1,5]),(Subscript[R, 1,6,2]),(Subscript[R, 1,3,7]),(Subscript[u, -1,4])}]

ρRVK[Knot[3,1]]

{#,DrawPD[#],ρRVK[#]}&/@AllKnots[{3,6}]//MatrixForm

{#,ρRVK[#]}&/@AllKnots[{3,10}]//MatrixForm//Timing

ListPlot[{Log[Crossings[#]],Log[Timing[ρRVK[#]][[1]]]}&/@TorusKnots[13]]

{#[[1]],#[[2]],Normal[Series[Alexander[#][t],{t,Infinity,0}]],ρRVK[#]}&/@AllKnots[{3,6}]

KnotLine[K_]:=StringReplace["\\includegraphics[width=0.5cm, trim=0 0 0 -1.5cm]{RolfsenImages/Q_P.png} &{$Q_{P}$}&{$A$}&{$Z$}\\\\ \\hline \n",
{"Q"->ToString[K[[1]]],
"P"->ToString[K[[2]]],
"A"->ToString@TeXForm[Normal[Series[Alexander[K][t],{t,Infinity,0}]]],
"Z"->ToString@TeXForm[ρRVK[K]]
}
]

WriteString["Tabbb.txt",StringJoin[KnotLine/@AllKnots[{3,10}]] ]

Directory[]