Pseudodifferential calculus on cyclic projective modules over the NC torus and computation of the argument of the trace at which it equals the index of the Dirac operator after taking a limit

In each section, we summarize the computations and explain each step in detail. We make use of some of the code from the notebook titled “scalarncgshort2.nb” included as an ancillary file with Connes and Moscovici’s arXiv preprint titled “Modular Curvature for Noncommutative Two-Tori.”

Setting up the differential calculus

(associativity)

m[a___,m[b___],c___]:=m[a,b,c]

(additivity)

m[a___,b1_+b2_,c___]:=m[a,b1,c]+m[a,b2,c]

(o[i]-independent expressions are not operators)

m[x_?(FreeQ[#,o[_]]&)]:=x

(o[i]-independent expressions are not operators)

m[a___,x_?(FreeQ[#,o[_]]&),b___]:=x m[a,b]

(factor out o[i]-independent factors)

m[a___,x__?(FreeQ[#,o[_]]&&FreeQ[#,(Subscript[δ, 1])]&&FreeQ[#,(Subscript[δ, 2])]&)y_,b___]:=x m[a,y,b]

(multiply out powers of sums)

m[a___,b_Plus^n_Integer?(#>1&),c___]:=m[a,Table[b,{n}]/.List->Sequence,c]

We define differentiation inside the products m

dξ1[stuff_]:=(∂_(Subscript[ξ, 1]))(stuff/.m->Dot)/.Dot->m

dξ2[stuff_]:=(∂_(Subscript[ξ, 2]))(stuff/.m->Dot)/.Dot->m

du[stuff_]:=(∂_u)(stuff/.m->Dot)/.Dot->m

dv[stuff_]:=(∂_v)(stuff/.m->Dot)/.Dot->m

We define the product of two symbols up to order two

pso2[ρ1_,ρ2_]:=m[ρ1,ρ2]+m[dξ1[ρ1],du[ρ2]]+m[dξ2[ρ1],dv[ρ2]]+1/2 m[dξ1[dξ1[ρ1]],du[du[ρ2]]]+m[dξ1[dξ2[ρ1]],du[dv[ρ2]]]+1/2 m[dξ2[dξ2[ρ1]],dv[dv[ρ2]]]

We introduce operator variables k and e that depend on u and v. We also introduce shorthand variables se=σ(e) and sse=Δ(e). We can take derivatives of k, e, and 1/k.

du[m[k[u,v,o[1]]]]

dv[m[k[u,v,o[1]]]]

du[du[m[k[u,v,o[1]]]]]

du[dv[m[k[u,v,o[1]]]]]

dv[dv[m[k[u,v,o[1]]]]]

du[m[e[u,v,o[1]]]]

dv[m[e[u,v,o[1]]]]

du[du[m[e[u,v,o[1]]]]]

du[dv[m[e[u,v,o[1]]]]]

dv[dv[m[e[u,v,o[1]]]]]

du[m[kinv[u,v,o[1]]]]

dv[m[kinv[u,v,o[1]]]]

du[du[m[kinv[u,v,o[1]]]]]

du[dv[m[kinv[u,v,o[1]]]]]

dv[dv[m[kinv[u,v,o[1]]]]]

du[m[se[u,v,o[1]]]]

dv[m[se[u,v,o[1]]]]

du[du[m[se[u,v,o[1]]]]]

du[dv[m[se[u,v,o[1]]]]]

dv[dv[m[se[u,v,o[1]]]]]

du[m[ssekksse[u,v,o[1]]]]

dv[m[ssekksse[u,v,o[1]]]]

du[du[m[ssekksse[u,v,o[1]]]]]

du[dv[m[ssekksse[u,v,o[1]]]]]

dv[dv[m[ssekksse[u,v,o[1]]]]]

du[m[sekk[u,v,o[1]]]]

dv[m[sekk[u,v,o[1]]]]

du[du[m[sekk[u,v,o[1]]]]]

du[dv[m[sekk[u,v,o[1]]]]]

dv[dv[m[sekk[u,v,o[1]]]]]

Reading in a classical manner

We give a way to read the products in a classical manner, with a method for simplifying expressions in this form.

cancelling[a___,cancelling[b___],c___]:=cancelling[a,b,c]

cancelling[a___,b1_+b2_,c___]:=cancelling[a,b1,c]+cancelling[a,b2,c]

cancelling[a___,-b_,c___]:=(-1)cancelling[a,b,c]

cancelling[a___,(1/k),k,b___]:=cancelling[a,b]

cancelling[a___,k,(1/k),b___]:=cancelling[a,b]

cancelling[a___,e,e,b___]:=cancelling[a,e,b]

cancelling[a___,e,(Subscript[e, 1]),b___]:=cancelling[a,e,b]

cancelling[a___,(Subscript[e, 1]),e,b___]:=cancelling[a,e,b]

cancelling[a__,(Subscript[e, 1]),b___]:=cancelling[a,e,b]

cancelling[a___,se,se,b___]:=cancelling[a,se,b]

cancelling[(1/k),se,k,k,se,k]:=cancelling[ssekksse]

cancelling[se,k,k]:=cancelling[sekk]

cancelling[a___,-1,b___]:=(-1)cancelling[a,b]

cancelling[a___,1,b___]:=cancelling[a,b]

cancelling[a___,0,b___]:=0

cancel[stuff_]:=Simplify[(Simplify[stuff]/.Dot->cancelling)/.cancelling->Dot]

read[stuff_]:=cancel[((stuff/.m->Dot)/.{k[u,v,o[1]]->k,Derivative[1,0,0][k][u,v,o[1]]->(Subscript[δ, 1])[k],Derivative[0,1,0][k][u,v,o[1]]->(Subscript[δ, 2])[k],Derivative[2,0,0][k][u,v,o[1]]->((Subscript[δ, 1])^2)[k],Derivative[1,1,0][k][u,v,o[1]]->(Subscript[δ, 1])(Subscript[δ, 2])[k],Derivative[0,2,0][k][u,v,o[1]]->((Subscript[δ, 2])^2)[k],e[u,v,o[1]]->e,Derivative[1,0,0][e][u,v,o[1]]->(Subscript[δ, 1])[e],Derivative[0,1,0][e][u,v,o[1]]->(Subscript[δ, 2])[e],Derivative[2,0,0][e][u,v,o[1]]-> ((Subscript[δ, 1])^2)[e],Derivative[1,1,0][e][u,v,o[1]]->(Subscript[δ, 1])(Subscript[δ, 2])[e],Derivative[0,2,0][e][u,v,o[1]]->((Subscript[δ, 2])^2)[e],kinv[u,v,o[1]]->(k^(-1)),Derivative[1,0,0][kinv][u,v,o[1]]->-(k^(-1)).(Subscript[δ, 1])[k].(k^(-1)),Derivative[0,1,0][kinv][u,v,o[1]]->-(k^(-1)).(Subscript[δ, 2])[k].(k^(-1)),Derivative[2,0,0][kinv][u,v,o[1]]->2(k^(-1)).(Subscript[δ, 1])[k].(k^(-1)).(Subscript[δ, 1])[k].(k^(-1))-(k^(-1)).((Subscript[δ, 1])^2)[k].(k^(-1)),Derivative[1,1,0][kinv][u,v,o[1]]->(k^(-1)).(Subscript[δ, 1])[k].(k^(-1)).(Subscript[δ, 2])[k].(k^(-1))-(k^(-1)).(Subscript[δ, 1])(Subscript[δ, 2])[k].(k^(-1))+(k^(-1)).(Subscript[δ, 2])[k].(k^(-1)).(Subscript[δ, 1])[k].(k^(-1)),Derivative[0,2,0][kinv][u,v,o[1]]->2(k^(-1)).(Subscript[δ, 2])[k].(k^(-1)).(Subscript[δ, 2])[k].(k^(-1))-(k^(-1)).((Subscript[δ, 2])^2)[k].(k^(-1)),se[u,v,o[1]]->se,Derivative[1,0,0][se][u,v,o[1]]->(Subscript[δ, 1])[se],Derivative[0,1,0][se][u,v,o[1]]->(Subscript[δ, 2])[se],Derivative[2,0,0][se][u,v,o[1]]->((Subscript[δ, 1])^2)[se],Derivative[1,1,0][se][u,v,o[1]]->(Subscript[δ, 1])(Subscript[δ, 2])[se],Derivative[0,2,0][se][u,v,o[1]]->((Subscript[δ, 2])^2)[se],ssekksse[u,v,o[1]]->ssekksse,Derivative[1,0,0][ssekksse][u,v,o[1]]->(Subscript[δ, 1])[ssekksse],Derivative[0,1,0][ssekksse][u,v,o[1]]->(Subscript[δ, 2])[ssekksse],Derivative[2,0,0][ssekksse][u,v,o[1]]->((Subscript[δ, 1])^2)[ssekksse],Derivative[1,1,0][ssekksse][u,v,o[1]]->(Subscript[δ, 1])(Subscript[δ, 2])[ssekksse],Derivative[0,2,0][ssekksse][u,v,o[1]]->((Subscript[δ, 2])^2)[ssekksse],sekk[u,v,o[1]]->sekk,Derivative[1,0,0][sekk][u,v,o[1]]->(Subscript[δ, 1])[sekk],Derivative[0,1,0][sekk][u,v,o[1]]->(Subscript[δ, 2])[sekk],Derivative[2,0,0][sekk][u,v,o[1]]->((Subscript[δ, 1])^2)[sekk],Derivative[1,1,0][sekk][u,v,o[1]]->(Subscript[δ, 1])(Subscript[δ, 2])[sekk],Derivative[0,2,0][sekk][u,v,o[1]]->((Subscript[δ, 2])^2)[sekk]})]

read[m[k[u,v,o[1]],k[u,v,o[1]]]]

read[du[m[k[u,v,o[1]],k[u,v,o[1]]]]]

read[du[dv[m[k[u,v,o[1]],k[u,v,o[1]]]]]]

read[m[se[u,v,o[1]]]]

read[m[du[se[u,v,o[1]]]]]

read[m[du[dv[se[u,v,o[1]]]]]]

read[du[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]]]]]

read[dv[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]]]]]

read[du[du[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]]]]]]

read[du[dv[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]]]]]]

read[dv[dv[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]]]]]]

read[du[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]]]

read[dv[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]]]

read[du[du[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]]]]

read[du[dv[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]]]]

read[dv[dv[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]]]]

Total symbol of each Laplacian

We define a σ-connection and its inverse

sigma[stuff_]:=m[kinv[u,v,o[1]],stuff,k[u,v,o[1]]]

sigmainv[stuff_]:=m[k[u,v,o[1]], stuff,kinv[u,v,o[1]]]

read[sigma[e[u,v,o[1]]]]

aueo2=pso2[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]],pso2[(Subscript[ξ, 1])+I (Subscript[ξ, 2]),pso2[m[se[u,v,o[1]]],pso2[(Subscript[ξ, 1])-I (Subscript[ξ, 2]),m[k[u,v,o[1]]]]]]]

aueo2adj=pso2[m[se[u,v,o[1]]],pso2[(Subscript[ξ, 1])-I (Subscript[ξ, 2]),pso2[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]],(Subscript[ξ, 1])+I (Subscript[ξ, 2])]]]

read[aueo2]

Expand[read[aueo2adj]]

CoefficientRules[read[aueo2],{(Subscript[ξ, 1]),(Subscript[ξ, 2])}]//TableForm

CoefficientRules[read[aueo2adj],{(Subscript[ξ, 1]),(Subscript[ξ, 2])}]//TableForm

The symbol of order two for the first Laplacian is

p[2]=m[ssekksse[u,v,o[1]]] (Subscript[ξ, 1]^2)+m[ssekksse[u,v,o[1]]] (Subscript[ξ, 2]^2);

The symbol of order two for the second Laplacian is

padj[2]=m[sekk[u,v,o[1]]] (Subscript[ξ, 1]^2)+m[sekk[u,v,o[1]]] (Subscript[ξ, 2]^2);

read[Simplify[p[2]]]

read[Simplify[padj[2]]]

read[Simplify[aueo2-p[2]]]

read[Simplify[aueo2adj-padj[2]]]

The symbol of order one for the first Laplacian is

p[1]=m[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]],(2m[se[u,v,o[1]],du[k[u,v,o[1]]]]+m[du[se[u,v,o[1]]],k[u,v,o[1]]]+I m[dv[se[u,v,o[1]]],k[u,v,o[1]]])(Subscript[ξ, 1])+(2m[se[u,v,o[1]],dv[k[u,v,o[1]]]]+m[dv[se[u,v,o[1]]],k[u,v,o[1]]]-I m[du[se[u,v,o[1]]],k[u,v,o[1]]])(Subscript[ξ, 2])];

The symbol of order one for the second Laplacian is

padj[1]=m[se[u,v,o[1]],du[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]](Subscript[ξ, 1])+dv[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]](Subscript[ξ, 2])+I du[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]](Subscript[ξ, 2])-I dv[m[se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]]](Subscript[ξ, 1])];

read[Simplify[p[1]]]

read[Simplify[padj[1]]]

read[Simplify[aueo2-p[2]-p[1]]]

read[Simplify[aueo2adj-padj[2]-padj[1]]]

The symbol of order zero for the first Laplacian is

p[0]=m[m[kinv[u,v,o[1]],se[u,v,o[1]],k[u,v,o[1]],k[u,v,o[1]]],m[du[se[u,v,o[1]]],du[k[u,v,o[1]]]]+m[se[u,v,o[1]],du[du[k[u,v,o[1]]]]]+m[dv[se[u,v,o[1]]],dv[k[u,v,o[1]]]]+m[se[u,v,o[1]],dv[dv[k[u,v,o[1]]]]]+I m[dv[se[u,v,o[1]]],du[k[u,v,o[1]]]]-I m[du[se[u,v,o[1]]],dv[k[u,v,o[1]]]]];

The symbol of order zero for the second Laplacian is

padj[0]=0;

read[Simplify[p[0]]]

read[Simplify[padj[0]]]

read[Simplify[aueo2-p[2]-p[1]-p[0]]]

read[Simplify[aueo2adj-padj[2]-padj[1]-padj[0]]]

The resolvents

We now introduce two asymptotic resolvents with asymptotic parameter λ, one for each Laplacian. We use the operator symbol o[2] for k^2

b[0]=1/((((Subscript[ξ, 1])^2)+((Subscript[ξ, 2])^2))o[2]-λ)

badj[0]=1/((((Subscript[ξ, 1])^2)+((Subscript[ξ, 2])^2))o[2]-λ)

What matters is that one never has to differentiate (with respect to u or v) the symbol o[2] which stands for Δ(ek^2e) in the first resolvent and σ(ek^2) in the second resolvent. The various terms that appear are listed below

for the first resolvent:

dξ1[b[0]]

dξ2[b[0]]

dξ1[dξ1[b[0]]]

dξ1[dξ2[b[0]]]

dξ2[dξ2[b[0]]]

and the second resolvent:

dξ1[badj[0]]

dξ2[badj[0]]

dξ1[dξ1[badj[0]]]

dξ1[dξ2[badj[0]]]

dξ2[dξ2[badj[0]]]

Reading in a classical manner

We give a way to read the resolvents in a classical manner.

readresolvent[stuff_]:=stuff/.{(((o[2])^2)/(((-λ+o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2))))^3))->(ssekk^2)(ssR^3)(Subscript[sse, 1])}/.{((o[2])/(((-λ+o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2))))^2))->ssekk (ssR^2) (Subscript[sse, 1])}/.{((o[2])/(((λ-o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2))))^2))->ssekk (ssR^2)(Subscript[sse, 1])}/.{(1/((-λ+o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2)))))->ssR (Subscript[sse, 1])}

readresolventadj[stuff_]:=stuff/.{(((o[2])^2)/(((-λ+o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2))))^3))->(sekk^2)(sR^3)}/.{((o[2])/(((-λ+o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2))))^2))->sekk (sR^2)}/.{((o[2])/(((λ-o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2))))^2))->sekk (sR^2)}/.{(1/((-λ+o[2] ((Subscript[ξ, 1]^2)+(Subscript[ξ, 2]^2)))))->sR}

readall[stuff_]:=readresolvent[read[stuff]]

readalladj[stuff_]:=readresolventadj[read[stuff]]

read3[stuff_]:=((readall[stuff]/.{Dot->cancelling})/.{cancelling->Dot})/.{ssR->(Subscript[ssb, 0])}

read3adj[stuff_]:=readalladj[stuff]/.{sR->(Subscript[sb, 0])}

Symbols of order -3

For the first resolvent

b[1]=-m[b[0],p[1],b[0]]-m[dξ1[b[0]],du[p[2]],b[0]]-m[dξ2[b[0]],dv[p[2]],b[0]];

For the second resolvent

badj[1]=-m[badj[0],padj[1],badj[0]]-m[dξ1[badj[0]],du[padj[2]],badj[0]]-m[dξ2[badj[0]],dv[padj[2]],badj[0]];

readall[b[1]]

readalladj[badj[1]]

read3[b[1]]

read3adj[badj[1]]

Symbol of order -4

The relevant quantity is the following which needs to be multiplied on the right by -(Subscript[ssb, 0]) (-(Subscript[b, 0])' in the paper) or -(Subscript[sb, 0]) ((Subscript[b, 0]) in the paper).

For the first resolvent

minusresolventtimesb0inverse=m[b[0],p[0]]+m[b[1],p[1]]+m[dξ1[b[0]],du[p[1]]]+m[dξ2[b[0]],dv[p[1]]]+m[dξ1[b[1]],du[p[2]]]+m[dξ2[b[1]],dv[p[2]]]+1/2 m[dξ1[dξ1[b[0]]],du[du[p[2]]]]+1/2 m[dξ2[dξ2[b[0]]],dv[dv[p[2]]]]+m[dξ1[dξ2[b[0]]],du[dv[p[2]]]];

For the second resolvent

minusresolventtimesb0inverseadj=m[badj[0],padj[0]]+m[badj[1],padj[1]]+m[dξ1[badj[0]],du[padj[1]]]+m[dξ2[badj[0]],dv[padj[1]]]+m[dξ1[badj[1]],du[padj[2]]]+m[dξ2[badj[1]],dv[padj[2]]]+1/2 m[dξ1[dξ1[badj[0]]],du[du[padj[2]]]]+1/2 m[dξ2[dξ2[badj[0]]],dv[dv[padj[2]]]]+m[dξ1[dξ2[badj[0]]],du[dv[padj[2]]]];

Here is the expression readable in the classical manner

For the first resolvent

read3[Simplify[minusresolventtimesb0inverse]]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]

For the second resolvent

Expand[read3adj[Simplify[minusresolventtimesb0inverseadj]]]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]

Integration in the angular part

coeffs[stuff_]:=CoefficientRules[read3[stuff],{(Subscript[ξ, 1]),(Subscript[ξ, 2])}];

coeffsadj[stuff_]:=CoefficientRules[read3adj[stuff],{(Subscript[ξ, 1]),(Subscript[ξ, 2])}];

intangle[{n_,m_}]:=intangle[{n,m}]=(1/(2π))(∫_0^(2π))(((r Cos[θ]))^n)(((r Sin[θ]))^m)\[DifferentialD]θ

intterms[stuff_]:=Expand[Simplify[(∑_(j=1)^(Length[coeffs[stuff]]))intangle[First[Part[coeffs[stuff],j]]]Last[Part[coeffs[stuff],j]]]]

inttermsadj[stuff_]:=Expand[Simplify[(∑_(j=1)^(Length[coeffsadj[stuff]]))intangle[First[Part[coeffsadj[stuff],j]]]Last[Part[coeffsadj[stuff],j]]]]

For the first resolvent, we get the following inner integral times -2π (Subscript[ssb, 0]) (-2π(Subscript[b, 0])' in the paper)

minusinnerintegraltimesb0inverse=intterms[minusresolventtimesb0inverse]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]

For the second resolvent, we get the following inner integral times -2π (Subscript[sb, 0]) (-2π (Subscript[b, 0]) in the paper):

minusinnerintegraltimesb0inverseadj=inttermsadj[minusresolventtimesb0inverseadj]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]

Preparation in canonical form

One puts the terms in a canonical form before performing the integration in the variable “r.” We first define the rules which allow one to pass to the reduced terms. The first group corresponds to ensuring each leftmost (Subscript[b, 0]) has an e to the right, moving powers of σ(e)k^2 or Δ(e)k^2 to the right if necessary. The second group corresponds to cancelling k’s and extra e’s. The third group corresponds to terms with all (Subscript[b, 0]) on the left. The fourth group corresponds to terms with (Subscript[b, 0]^2) in the middle that require integration by parts, turning them into terms with (Subscript[b, 0]) in the middle. The fifth group corresponds to terms with (Subscript[b, 0]) in the middle.

M[(ssekk^2) (Subscript[ssb, 0]^3) (Subscript[sse, 1]),c___]:=M[(Subscript[ssb, 0]^3),sse,k,k,sse,k,k,sse,c]

M[ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1]),c___]:=M[(Subscript[ssb, 0]^2),sse,k,k,sse,c]

M[a___,(Subscript[ssb, 0]) (Subscript[sse, 1]),c___]:=M[a,(Subscript[ssb, 0]),sse,c]

M[(sekk^2) (Subscript[sb, 0]^3),c___]:=M[(Subscript[sb, 0]^3),se,k,k,se,k,k,c]

M[sekk (Subscript[sb, 0]^2),c___]:=M[(Subscript[sb, 0]^2),se,k,k,c]

M[a___,k,(1/k),c___]:=M[a,c]

M[a___,(1/k),k,c___]:=M[a,c]

M[a___,e,e,c___]:=M[a,e,c]

M[a___,se,se,c___]:=M[a,se,c]

M[a___,sse,sse,c___]:=M[a,sse,c]

M[a___,sse,(1/k),se,k,c___]:=M[a,sse,c]

M[(Subscript[ssb, 0]),c___?(FreeQ[#,(Subscript[ssb, 0])]&)]:=S M[(1/k),(1/k),c,sse]

M[(Subscript[ssb, 0]^2),c___?(FreeQ[#,(Subscript[ssb, 0])]&)]:=(S^2) M[(1/k),(1/k),(1/k),(1/k),c,sse]

M[(Subscript[ssb, 0]^3),c___?(FreeQ[#,(Subscript[ssb, 0])]&)]:=(S^3) M[(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),c,sse]

M[(Subscript[sb, 0]),c___?(FreeQ[#,(Subscript[sb, 0])]&)]:=S M[(1/k),(1/k),c,se]

M[(Subscript[sb, 0]^2),c___?(FreeQ[#,(Subscript[sb, 0])]&)]:=(S^2) M[(1/k),(1/k),(1/k),(1/k),c,se]

M[(Subscript[sb, 0]^3),c___?(FreeQ[#,(Subscript[sb, 0])]&)]:=(S^3) M[(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),c,se]

M[(Subscript[ssb, 0]^3),a___,ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1]),c___]:=dr *1/2* M[(Subscript[ssb, 0]^3),a,(Subscript[ssb, 0]),sse,c]+dS *S/2* M[(Subscript[ssb, 0]^3),(1/k),(1/k),a,(Subscript[ssb, 0]),sse,c]

M[(Subscript[ssb, 0]^2),a___,ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1]),c___]:=dr *1/2* M[(Subscript[ssb, 0]^2),a,(Subscript[ssb, 0]),sse,c]+dS *S/2* M[(Subscript[ssb, 0]^2),(1/k),(1/k),a,(Subscript[ssb, 0]),sse,c]

M[(Subscript[ssb, 0]),a___,ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1]),c___]:=dr *1/2* M[(Subscript[ssb, 0]),a,(Subscript[ssb, 0]),sse,c]+dS *S/2* M[(Subscript[ssb, 0]),(1/k),(1/k),a,(Subscript[ssb, 0]),sse,c]

M[(Subscript[sb, 0]^3),a___,sekk (Subscript[sb, 0]^2),c___]:=dr *1/2* M[(Subscript[sb, 0]^3),a,(Subscript[sb, 0]),c]+ dS *S/2* M[(Subscript[sb, 0]^3),(1/k),(1/k),a,(Subscript[sb, 0]),c]

M[(Subscript[sb, 0]^2),a___,sekk (Subscript[sb, 0]^2),c___]:=dr *1/2* M[(Subscript[sb, 0]^2),a,(Subscript[sb, 0]),c]+ dS *S/2* M[(Subscript[sb, 0]^2),(1/k),(1/k),a,(Subscript[sb, 0]),c]

M[(Subscript[sb, 0]),a___,sekk (Subscript[sb, 0]^2),c___]:=dr *1/2* M[(Subscript[sb, 0]),a,(Subscript[sb, 0]),c]+ dS *S/2* M[(Subscript[sb, 0]),(1/k),(1/k),a,(Subscript[sb, 0]),c]

M[(Subscript[ssb, 0]),a___,(Subscript[ssb, 0]),c___]:=S R M[(1/k),(1/k),(1/k),(1/k),a,sse]**M[c]

M[(Subscript[ssb, 0]^2),a___,(Subscript[ssb, 0]),c___]:=(S^2) R M[(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),a,sse]**M[c]

M[(Subscript[ssb, 0]^3),a___,(Subscript[ssb, 0]),c___]:=(S^3)R M[(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),a,sse]**M[c]

M[(Subscript[sb, 0]),a___,(Subscript[sb, 0]),c___]:=S R M[(1/k),(1/k),(1/k),(1/k),a,se]**M[c]

M[(Subscript[sb, 0]^2),a___,(Subscript[sb, 0]),c___]:=(S^2) R M[(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),a,se]**M[c]

M[(Subscript[sb, 0]^3),a___,(Subscript[sb, 0]),c___]:=(S^3)R M[(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),(1/k),a,se]**M[c]

action[stuff_]:=stuff/.Dot->M

back[stuff_]:=(stuff/.M->cancelling)/.cancelling->Dot

reorder[stuff_]:=back[action[stuff]]

We now show how this works:

compare[stuff_]:=Table[{Extract[stuff,a1],reorder[Extract[stuff,a1]]},{a1,1,Length[stuff]}]//TableForm

compare[minusinnerintegraltimesb0inverse]

compare[minusinnerintegraltimesb0inverseadj]

One in fact double checks that all similar terms are now in canonical form. There is one compare table each resolvent.

treatfine[stuff_]:=Table[reorder[Extract[stuff,a1]],{a1,1,Length[stuff]}]

treatfinehalf[stuff_]:=Select[treatfine[stuff],FreeQ[#,R]==False&]

Integration in the radial part of the terms with (Subscript[b, 0]) in the middle

We now apply the rearrangement lemma to do the integration in the radial part for the terms with (Subscript[b, 0]) in the middle. We reintroduce the (Subscript[b, 0]) on the right and move it to the left.

treat1[stuff_]:=Total[treatfinehalf[stuff]]

We integrate by parts for terms with (Subscript[b, 0]^2) in the middle:

treat2[stuff_]:=Expand[(((r^(-1)) (∂_dr)(∂_r)#-2sseekk S(∂_dS)(∂_S)#)+(#/.{dr->0,dS->0}))&/@treat1[stuff]]

treat2adj[stuff_]:=Expand[(((r^(-1)) (∂_dr)(∂_r)#-2sekek S(∂_dS)(∂_S)#)+(#/.{dr->0,dS->0}))&/@treat1[stuff]]

intbyparts[stuff_]:=Expand[(((r^(-1))(∂_dr)(∂_r)stuff-2sseekk S(∂_dS)(∂_S)stuff)+(stuff/.{dr->0,dS->0}))]

reorder[-2 (r^6) (ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse].(ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse]]

(r^(-1)) (∂_dr)(∂_r)reorder[-2 (r^6) (ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse].(ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse]]

-2sseekk S(∂_dS)(∂_S)reorder[-2 (r^6) (ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse].(ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse]]

reorder[-2 (r^6) (ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse].(ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse]]/.{dr->0,dS->0}

intbyparts[reorder[-2 (r^6) (ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse].(ssekk (Subscript[ssb, 0]^2) (Subscript[sse, 1])).(Subscript[δ, 1])[ssekksse]]]

treat2[minusinnerintegraltimesb0inverse]

treat2adj[minusinnerintegraltimesb0inverseadj]

Simplify[CoefficientRules[treat2[minusinnerintegraltimesb0inverse],{S,R}]]

Simplify[CoefficientRules[treat2adj[minusinnerintegraltimesb0inverseadj],{S,R}]]

poww[{n_,m_}]:=(r^(-2(n+m-1))) /2

(Subscript[D, n_])[NonCommutativeMultiply[a_,b_]]:=Dot[(Subscript[D, n])[a],b]

(Subscript[D, n_])[a___,b1_+b2_,c___]:=(Subscript[D, n])[a,b1,c]+(Subscript[D, n])[a,b2,c]

(Subscript[D, n_])[x_?(FreeQ[#,e]&&FreeQ[#,sse]&&FreeQ[#,se]&)]:=(x/(n+1))

(Subscript[D, n_])[a___,x_?(FreeQ[#,e]&&FreeQ[#,sse]&&FreeQ[#,se]&),b___]:=x (Subscript[D, n])[a,b]

(Subscript[D, n_])[a___,x__?(FreeQ[#,e]&&FreeQ[#,sse]&&FreeQ[#,se]&&FreeQ[#,(Subscript[δ, 1])]&&FreeQ[#,(Subscript[δ, 2])]&)y_,b___]:=x (Subscript[D, n])[a,y,b]

transfo[stuff_]:=Expand[Simplify[(∑_(j=1)^(Length[CoefficientRules[stuff,{S,R}]]))sse (Subscript[D, First[First[Part[CoefficientRules[stuff,{S,R}],j]]]]) [poww[First[Part[CoefficientRules[stuff,{S,R}],j]]]Last[Part[CoefficientRules[stuff,{S,R}],j]]]]]/.{sse sseekk->ssekksse}

transfoadj[stuff_]:=Expand[Simplify[(∑_(j=1)^(Length[CoefficientRules[stuff,{S,R}]]))se (Subscript[D, First[First[Part[CoefficientRules[stuff,{S,R}],j]]]]) [poww[First[Part[CoefficientRules[stuff,{S,R}],j]]]Last[Part[CoefficientRules[stuff,{S,R}],j]]]]]/.{se sekek->sekkse}

For the integral of the terms for the first resolvent we get

halfres0=transfo[treat2[minusinnerintegraltimesb0inverse]]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]

For the integral of the terms for the second resolvent we get

halfres0adj=transfoadj[treat2adj[minusinnerintegraltimesb0inverseadj]]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]

Integration in the radial part of the terms with all (Subscript[b, 0]) on the left

We now apply the rearrangement lemma to do the integration in the radial part for the terms with all (Subscript[b, 0]) on the left. We reintroduce the (Subscript[b, 0]) on the right but do not move it to the left.

treatfinerem[stuff_]:=Select[treatfine[stuff],FreeQ[#,R]==True&]

treattwo[stuff_]:=Total[treatfinerem[stuff]]

Simplify[CoefficientRules[treattwo[minusinnerintegraltimesb0inverse],{S}]]

Simplify[CoefficientRules[treattwo[minusinnerintegraltimesb0inverseadj],{S}]]

powwrem[{n_}]:=(r^(-2(n-1))) /2

transforem[stuff_]:=Expand[Simplify[(∑_(j=1)^(Length[CoefficientRules[stuff,{S}]]))sse (Subscript[D, -1+First[First[Part[CoefficientRules[stuff,{S}],j]]]]) [powwrem[First[Part[CoefficientRules[stuff,{S}],j]]]Last[Part[CoefficientRules[stuff,{S}],j]]]]]

transforemadj[stuff_]:=Expand[Simplify[(∑_(j=1)^(Length[CoefficientRules[stuff,{S}]]))se (Subscript[D, -1+First[First[Part[CoefficientRules[stuff,{S}],j]]]]) [powwrem[First[Part[CoefficientRules[stuff,{S}],j]]]Last[Part[CoefficientRules[stuff,{S}],j]]]]]

For the integral of the terms for the first resolvent we get

remres0=transforem[treattwo[minusinnerintegraltimesb0inverse]]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]

For the integral of the terms for the second resolvent we get

remres0adj=transforemadj[treattwo[minusinnerintegraltimesb0inverseadj]]

with LATEX Code

TeXForm[%]

and the following number of terms:

Length[%%]