Pensieve header: Finding the most general R in UU notation.

SetDirectory@"C:\\drorbn\\AcademicPensieve\\Projects\\OneCo-1604";
<< MostGeneralR-UU.m;
ExportButton

(Subscript[gg, 2|4|5|7])[_]=0; (Subscript[gg, 6])[x_]:=((2-x)/(2(x^2))); (Subscript[gg, 8])[x_]:= 1/x; (Subscript[cc, 1])=0;

Column@Table[x->CF[ÅForm[(δaForm@UU@x)//R[1,2]]],
{x,{β[f[(Subscript[b, 1]),(Subscript[b, 2])]], a[1,1,h∞], a[1,2,h∞], a[f[(Subscript[b, 1]),(Subscript[b, 2])],1,h∞], a[f[(Subscript[b, 1]),(Subscript[b, 2])],2,h∞],c[1,h∞],ao[1,1,h∞],ao[1,2,h∞],ca[1,1,1,h∞],ca[1,2,1,h∞],ca[1,h∞,1,1],ca[1,h∞,1,2],ca[1,h∞,2,1],ca[1,h∞,2,2],ca[1,1,2,h∞],ca[1,2,2,h∞],aao[1,1,1,1,h∞],aao[1,1,2,1,h∞],aao[1,1,1,2,h∞],aao[1,1,2,2,h∞],aao[1,2,1,2,h∞],aao[1,2,2,2,h∞]}}]

Turbo Gassner is spanned by (Subscript[v, i]) (for a), (Subscript[w, i]) (for ao), (Subscript[z, ij]) (for c[i,j,h∞]), and (Subscript[u, ij,k]) (for aao[i,k,j,h∞]). Also, (Subscript[t, i]):=(e^(Subscript[b, i])).

τ[expr_]:=Simplify[expr /. (Subscript[b, i_]):>Log[(Subscript[t, i])]/.{
(Subscript[t, j]) Derivative[1,0][f][(Subscript[t, j]),(Subscript[t, k])]-(Subscript[t, k]) Derivative[0,1][f][(Subscript[t, j]),(Subscript[t, k])]->(Subscript[ℰ, j,k])[f],
(Subscript[t, k]) Derivative[0,1][f][(Subscript[t, j]),(Subscript[t, k])]-(Subscript[t, j]) Derivative[1,0][f][(Subscript[t, j]),(Subscript[t, k])]->-(Subscript[ℰ, j,k])[f],
f[(Subscript[t, j]),(Subscript[t, k])]->f
}];
TGData=Table[
y=x/.f->f[(Subscript[t, j]),(Subscript[t, k])]/.(Subscript[t, i_]):>(E^(Subscript[b, i]))/.{
f_.(Subscript[v, i_]):>a[f/(Subscript[b, i]),i,h∞],
(Subscript[w, i_]):>ao[1/(Subscript[b, i]),i,h∞],
(Subscript[u, i_,j_,k_]):>aao[1/((Subscript[b, i])(Subscript[b, j])), i,k,j,h∞]
};
x->ÅForm[(δaForm@UU@y)//R[j,k]][[1]] /. {
ca[_,h∞,__]->0,
a[f_,i_,h∞]:>τ[(Subscript[b, i])f](Subscript[v, i]),
ao[f_,i_,h∞]:>τ[(Subscript[b, i])f](Subscript[w, i]),
aao[f_,i_,j_,k_,h∞]|aao[f_,k_,h∞,i_,j_] :> τ[(Subscript[b, i])(Subscript[b, k])f](Subscript[u, i,k,j])
},
{x,{f (Subscript[v, j]),f (Subscript[v, k]),f (Subscript[v, i]),(Subscript[w, j]),(Subscript[w, k]),(Subscript[w, i]),(Subscript[u, j,j,j]),(Subscript[u, j,j,k]),(Subscript[u, j,k,j]),(Subscript[u, j,k,k]),(Subscript[u, k,j,j]),(Subscript[u, k,j,k]),(Subscript[u, k,k,j]),(Subscript[u, k,k,k]),(Subscript[u, j,j,l]),(Subscript[u, j,k,l]),(Subscript[u, k,j,l]),(Subscript[u, k,k,l]),(Subscript[u, i,j,j]),(Subscript[u, i,j,k]),(Subscript[u, i,k,j]),(Subscript[u, i,k,k]),(Subscript[u, j,i,j]),(Subscript[u, j,i,k]),(Subscript[u, k,i,j]),(Subscript[u, k,i,k]),(Subscript[u, j,i,l]),(Subscript[u, k,i,l]),(Subscript[u, i,j,l]),(Subscript[u, i,k,l]),(Subscript[u, i1,i2,j]),(Subscript[u, i1,i2,k]),(Subscript[u, i1,i2,l])}}
];
Column@TGData

Fs=First/@ TGData; Ts=Last/@ TGData;
Fs=Fs /. {f->f_.,i->i_ , i1->i1_,i2->i2_,l->l_};
TGRule=Thread[Fs->Ts] /. Rule ->RuleDelayed /. (Subscript[ℰ, j_,k_])[f_] :> (Subscript[t, j])(∂_(Subscript[t, j]))f-(Subscript[t, k])(∂_(Subscript[t, k]))f;
AppendTo[TGRule, (Subscript[u, _,_,_]):>Error]

(Subscript[σ, j_,k_])=.;
SetDelayed@@{(Subscript[σ, j_,k_]),Expand@*ReplaceAll[(Subscript[u, jj_,ii_,kk_])/;!OrderedQ[{jj,ii}] :> (Subscript[u, ii,jj,kk])]@*ReplaceAll[TGRule]}

checks={f[(Subscript[t, 1]),(Subscript[t, 2]),(Subscript[t, 3])](Subscript[v, 1]),f[(Subscript[t, 1]),(Subscript[t, 2]),(Subscript[t, 3])](Subscript[v, 2]),f[(Subscript[t, 1]),(Subscript[t, 2]),(Subscript[t, 3])](Subscript[v, 3]),(Subscript[w, 1]),(Subscript[w, 2]),(Subscript[w, 3]),(Subscript[u, 1,1,1]),(Subscript[u, 1,1,2]),(Subscript[u, 1,2,1]),(Subscript[u, 1,2,2]),(Subscript[u, 1,2,1]),(Subscript[u, 1,2,2]),(Subscript[u, 2,2,1]),(Subscript[u, 2,2,2]),(Subscript[u, 1,1,3]),(Subscript[u, 1,2,3]),(Subscript[u, 1,2,3]),(Subscript[u, 2,2,3]),(Subscript[u, 0,1,1]),(Subscript[u, 0,1,2]),(Subscript[u, 0,2,1]),(Subscript[u, 0,2,2]),(Subscript[u, 0,1,1]),(Subscript[u, 0,1,2]),(Subscript[u, 0,2,1]),(Subscript[u, 0,2,2]),(Subscript[u, 0,1,3]),(Subscript[u, 0,2,3]),(Subscript[u, 0,1,3]),(Subscript[u, 0,2,3]),(Subscript[u, 0,1,1]),(Subscript[u, 0,1,2]),(Subscript[u, 0,1,3])};
Column[R3l=(#//(Subscript[σ, 1,2])//(Subscript[σ, 1,3])//(Subscript[σ, 2,3])//Simplify)& /@checks]

R3r=(#//(Subscript[σ, 2,3])//(Subscript[σ, 1,3])//(Subscript[σ, 1,2])//Simplify)& /@ checks;
R3l-R3r // Simplify

Column[OCl=(#//(Subscript[σ, 1,2])//(Subscript[σ, 1,3])//Simplify)& /@checks]

OCr=(#//(Subscript[σ, 1,3])//(Subscript[σ, 1,2])//Simplify)& /@ checks;
OCl-OCr // Simplify

Column[UCl=(#//(Subscript[σ, 1,3])//(Subscript[σ, 2,3])//Simplify)& /@checks]

UCr=(#//(Subscript[σ, 2,3])//(Subscript[σ, 1,3])//Simplify)& /@ checks;
UCl-UCr // Simplify