Computations of the NoBLE for self-avoiding walk

Analysis of Section 3.3

Robert Fitzner

In this file we implement the numerical part of the analysis of the non-backtracking lace expansion for nearest-neighbor self-avoiding walk. All references in this version of the notebook will be to the PhD thesis of the author.

We expects as input the dimension d and the constance (Subscript[Γ, 1]),(Subscript[Γ, 2]),(Subscript[Γ, 3]), (Subscript[c, 1]),..,(Subscript[c, 4]). After choosing these quantities the used should select the menu item Evaluate-> Evaluate Notebook. In a table at the end of this document the result of the computations are shown. There it can be see whether the bootstrap with the given parameters and therefore the analysis was succesful.

We first compute bounds on the simple random walk two-point function (Section 5.2). We compute bound on the two-point function and repulsive diagrams (Section 5.1.2). We use these bounds to compute the Diagramatic bounds derived in Section 4.2. and then perform the analysis as explained in Section 3.3.

6.05.2013

Input

In which dimension should we perform the computation

d=8;

For the bootstrap we assume that (Subscript[f, i])(z)≤ (Subscript[Γ, i]) with (Subscript[Γ, i]) gives as follows

Gamma1=1.00354;Gamma2=1.05151;Gamma3=1.15;

For the bootstrap function (Subscript[f, 3]) we use the following constants

c1=0.149;c2=0.4967;c3=0.11066;c4=4.735;

To obtain the result in dimension d=8 choose  Gamma1=1.00354;Gamma2=1.05151;Gamma3=1.15; and c1=0.149;c2=0.4967;c3=0.11066;c4=4.735;

Simple Random Walk integral

Overview

We compute the two-point function of the simple random walk,

(Subscript[I, n,m])(x)=(∫_([ -ℼ,ℼ]))(e^(ik x))((((OverHat[D])^m) (k))/(((1-(OverHat[D])(k)))^n))(((d^d)k)/(((2π))^d))

see Section 5.2, using that

(Subscript[I, n,m])(x)=(Subscript[I, n,(m-1)])(x)-(Subscript[I, (n-1),(m-1)])(x)
(Subscript[I, n,0])(x)=(1/((n-1)!))(∫_0^∞)(t^(n-1))(∏_(i=1)^d)(∫_(-π)^π)(e^(-t/d(1-cos((Subscript[k, i]))))(e^((Subscript[ιk, i])(Subscript[x, i])))(dk/(2π)) =(1/((n-1)!))(∫_0^∞)(t^(n-1))(∏_(i=1)^d)F(t,d,(Abs[(Subscript[x, i])]))

where F(t,d,n) is the modified Besselfunction. We implement the Besselfunciton and (Subscript[I, n,0])(0).

F[t_,d_,N_]:= (E^(-(t/d))) BesselI[N,(t/d)];
NInt[n_,d_,T_]:=1/((n-1)!)*NIntegrate[t^(n-1)*(F[t,d,0])^d,{t,0,T}]

Computation

Then, we define the number of n-step SRW loop as given in Section 5.2.2, see (5.2.6)-(5.2.10)

s2=N[2d];
s4=N[(d*((4!)/(2 2))+((d(d-1))/2)*4!)];
s6=N[ (d*((6!)/(3!3!))+d*(d-1)*((6!)/(2 2))+((d(d-1)(d-2))/(3!))*6!)];
s8=N[(d*((8!)/(4!4!))+d*(d-1)*(((8!)/(3!3!))+((8!)/(2^5)))+((d(d-1)(d-2))/2)*((8!)/(2 2))+((d(d-1)(d-2)(d-3))/(4!))*8!)];

and compute the number (Subscript[I, n,m])(0) for n=0,1,2 and m=1,...,10 and save them in an two-dimensional array:

TableTwoPointValues = {{ n m,0, 1, 2}, {0,1, NInt[1,d,∞], NInt[2,d,∞]}, {1,0,0,0}, {2,(s2/(((2d))^2)), 0,0}, {3,0, 0,0}, {4,(s4/(((2d))^4)), 0,0},{5, 0,0,0},{6,(s6/(((2d))^6)),0,0},{7, 0,0,0},{8, (s8/(((2d))^8)),0,0},{9, 0,0,0},{10, -1,0,0}}; 
For[i=3,i<13,i++,
For[j=3,j<5,j++,
TableTwoPointValues[[i,j]]=TableTwoPointValues[[i-1,j]]-TableTwoPointValues[[i-1,j-1]];]
]
Clear[i,j]

For latter reference we define the constants:

I10=TableTwoPointValues[[2,3]];
I11=TableTwoPointValues[[3,3]];
I12=TableTwoPointValues[[4,3]];
I14=TableTwoPointValues[[6,3]];
I16=TableTwoPointValues[[8,3]];
I18=TableTwoPointValues[[10,3]];
I110=TableTwoPointValues[[12,3]];
I20=TableTwoPointValues[[2,4]];
I21=TableTwoPointValues[[3,4]];
I22=TableTwoPointValues[[4,4]];
I24=TableTwoPointValues[[6,4]];
I26=TableTwoPointValues[[8,4]];
I28=TableTwoPointValues[[10,4]];
I210=TableTwoPointValues[[12,4]];

Print out of all computed values of (Subscript[I, n,m])(0)

Labeled[Grid[TableTwoPointValues, Alignment -> {{Left, Center}, Baseline, {{2, 12}, {2, 3}} -> {"."}}, Frame -> True, Dividers -> {{2 -> True, -1 -> True}, {2 -> True}}, Spacings -> {1.5, {1.5, 1, {0.5}}}, ItemStyle -> {1 -> Bold, 1 -> Bold}, Background -> {Automatic, Automatic, {{2, 12}, {2, 4}} -> GrayLevel[0.9]}], Style["Value of the SRW two-point function in dimension "Text[d] , Bold], Top] // Text

Bound on the two-point function and on repulsive diagrams

Definition of Constants

We consider two setting s: we use s=i for bound on z=(Subscript[z, I]) and s=o for bound on zϵ ((Subscript[z, I]),(Subscript[z, c])). In Section 5.1 we argued that the bounds have a similar for. As given in (5.1.13) and (5.1.14) we define

z[i]=(1/(2d-1));
z[o]=(Gamma1/(2d-1));
VarGamma2[i]=((2(d-1))/(2d-1));(* (Subscript[G, 1/(2d-1)])(x) >=(Subscript[B, 1/(2d-1)])(x) = ((2d-2)/(2d-1)) (Subscript[C, 1/2d])(x)*)
VarGamma2[o]=((2(d-1))/(2d-1))Gamma2;

Further, we define the constants given in Section 5.1.3.

c2ik=2; (*(Subscript[c, 2])((Subscript[e, 1])+(Subscript[e, 2]))*)
c4ik=4 +6(2d-4);(*(Subscript[c, 4])((Subscript[e, 1])+(Subscript[e, 2]))*)
c6ik=16+84(2d-4)+36(2d-4)(2d-6);(*(Subscript[c, 4])((Subscript[e, 1])+(Subscript[e, 2]))*)

c3i=(2d-2);(*(Subscript[c, 3])((Subscript[e, 1]))*)
c5i=(3(2d-2 )+4(2d-2)(2d-4) );(*(Subscript[c, 5])((Subscript[e, 1]))*)
c7i=(14(2d-2 )+62(2d-2)(2d-4)+27(2d-2)(2d-4)(2d-6) )(*(Subscript[c, 7])((Subscript[e, 1]))*)

Bounds on two-point function

We compute the bounds as explained in Section 5.1.2.We begin by computing (Subscript[G, n,z])((Subscript[e, 1])) as in (5.1.22)-(5.1.24)

Do[
Bound[G7i,s]=c7i ((z[s])^7)+(2d*z[s])^9*VarGamma2[s]*I110;(* (Subscript[G, 7,z])((Subscript[e, 1]))*)
Bound[G5i,s]=c5i ((z[s])^5)+Bound[G7i,s];(* (Subscript[G, 5,z])((Subscript[e, 1]))*)
Bound[G3i,s]=c3i ((z[s])^3)+Bound[G5i,s];(* (Subscript[G, 3,z])((Subscript[e, 1]))*)
Bound[G1i,s]=z[s]+Bound[G3i,s];(* (Subscript[G, 1,z])((Subscript[e, 1]))*)
,{s,{i,o}}]

Then, we compute (Subscript[G, n,z])((Subscript[e, 1])+(Subscript[e, 2])) and (Subscript[G, 4,z])(2(Subscript[e, 2])), see (5.1.25)-(5.1.26) and (5.4.1):

Do[
Bound[G8ik,s]=(d/(d-1))(2d*z[s])^8VarGamma2[s]I110;(*(Subscript[G, 8])((Subscript[e, 1])+(Subscript[e, 2]))*)
Bound[G6ik,s]=c6ik z[s]^6+VarGamma2[s]I18;(*(Subscript[G, 6])((Subscript[e, 1])+(Subscript[e, 2]))*)
Bound[G4ik,s]=Bound[G6ik,s]+(c4ik-2(2d-3) )((z[s])^4);(*(Subscript[G, 4]^1)((Subscript[e, 1])+(Subscript[e, 2]))*)
Bound[G2ik,s]=Bound[G4ik,s]+(c2ik-1)((z[s])^2);(*(Subscript[G, 2]^1)((Subscript[e, 1])+(Subscript[e, 2]))*)
Bound[G4ii,s]=(2d+2)((z[s])^4)+Bound[G6,s];(* Bound for (sup_x)(Subscript[G, 4]^1)(2 (Subscript[e, 1]))*)
,{s,{i,o}}]

We compute the supreme of the two-point function as given in (5.1.28)-(5.1.31):

Do[
Bound[G6,s]=Max[c6ik ((z[s])^6),c7i ((z[s])^7)]+(2d*z[s])^8VarGamma2[s]I18; (* Bound for (sup_x) (Subscript[G, 6])(x)*)
Bound[G4,s]=Max[c4ik ((z[s])^4),c5i ((z[s])^5)]+Bound[G6,s]; (* Bound for (sup_x)(Subscript[G, 4])(x)*)
Bound[G2,s]=Max[c2ik ((z[s])^2),c3i ((z[s])^3)]+Bound[G4,s]; (* Bound for (sup_x)(Subscript[G, 2])(x)*)
Bound[G1,s]=Max[Bound[G1i,s],Bound[G2,s]];(* Bound for (sup_x)(Subscript[G, 1])(x)*)
,{s,{i,o}}]

Bounds on repulsive bubbles

As next we bound the closed diagrams, see (5.1.37). Further, we use that (Subscript[B, (UnderBar[1]),3])(0)=2d z (Subscript[G, 3,z])((Subscript[e, 1])) and (Subscript[B, 1,2])(0)=(Subscript[B, (UnderBar[1]),3])(0)+(Subscript[B, 2,2])(0)

Do[
RepBubble[Step,G3,s]=2d z[s]Bound[G3i,s] ;
RepBubble[G2,G2,s]=2d c3i ((z[s])^4)+2d 3  c5i ((z[s])^6)+2d 5  c7i ((z[s])^8)+(((2d z[s]))^10)(4VarGamma2[s]I110+((VarGamma2[s])^2)I210);
RepBubble[G1,G2,s]=RepBubble[Step,G3,s]+RepBubble[G2,G2,s];
,{s,{i,o}}]

We bound the open diagram (Subscript[B, 2,0])(x) as shown in (5.1.38) and see that we can use the same bound for (Subscript[B, 1,1])(x) and that (Subscript[B, 0,1])(x)=(Subscript[B, (UnderBar[0]),1])(x)+(Subscript[B, 1,1])(x):

Do[
OpenRepBubble[G2,G0,s]=Max[c2ik ((z[o])^2)+3c4ik ((z[o])^4),2c3i ((z[o])^3)+4c5i ((z[o])^5)]+4(((2d z[o]))^6)VarGamma2[o]I16+(((2d z[o]))^6)((VarGamma2[o])^2)I26;
OpenRepBubble[G1,G1,s]=OpenRepBubble[G2,G0,s];
OpenRepBubble[G0,G1,s]=Bound[G1,s]+OpenRepBubble[G1,G1,s];
,{s,{i,o}}]

Bounds on weighted diagrams

We bound (sup_x)(Subscript[G, z])(x)[1-cos(k x)] as how in (5.1.19) and (5.1.20):

Bound[DeltaG,o]=((2c1)*I10+(2c2+c4)I20)Gamma3 ;
Bound[DeltaG,i]=((2d-2)/(2d-1))(I20+4I20) ;

Further, we bound (Subscript[Σ, x])(((Subscript[G, 2,z])(x))^2)(Subscript[G, z])(x)[1-cos(k x)] as explained in Section 5.4.1 and given (5.4.7).  For z=(Subscript[z, I]) (s=i) we use (5.1.20) and (5.4.7) with (Subscript[c, 1])=0,(Subscript[c, 3])=0,(Subscript[c, 2])=0.5:

Bound[G2CubedAndOneWeight,o]:= (((2d z[o]))^4)((VarGamma2[o])^2)Gamma3(2c1 I12+(2c2+c3)(I12+I22)(I24-(I12^2))+(c1 I10+(2c2+c3)I20)(I12^2));
Bound[G2CubedAndOneWeight,i]:= (((2d z[i]))^4)(((((2(d-1))/(2d-1))))^3)((I12+I22)(I24-(I12^2))+I20 (I12^2));

Bound on the coefficient (Subscript[Ξ, z]^ι)

Bound for N=0

We implement the bounds given in Lemma 4.2.1.:

Do[
Bound[XiIota,0,s]=Bound[G3i,s];
Bound[XiIota,0,Delta,0,s]=2d Bound[G3i,s] ;
Bound[XiIota,0,Delta,ei,s]=0;
,{s,{i,o}}]

At the end of the analysis we use a lower bound on (∑_x)(Π^((0),i,k))(x) . We create this lower bound by explicite computations and z≥ (Subscript[z, I])=1/(2d-1).

Bound[PsiIota,0,l]=(c3i-1) ((z[i])^3)+(c5i-4(2d-2))((z[i])^5)+(c7i-c6ik-c4ik c3i-c5i)((z[i])^7);

Bound for N=1

Here we implement the bounds given in Lemma 4.2.2.:

Do[
Bound[XiIota,1,s]=2((Bound[G3i,s])^2)+(2d-2)z[s]Bound[G4ik,s](((z[s])^2)+Bound[G2ik,s])+z[s]((Bound[G4ii,s])^2)+Bound[G2,s]RepBubble[G2,G2,s];
Bound[XiIota,1,Delta,ei,s]=2d ((Bound[G3i,s])^2)+((Bound[G2CubedAndOneWeight,s])/(z[i]));
Bound[XiIota,1,Delta,0,s]=2Bound[XiIota,1,Delta,ei,s]+2*2d*Bound[XiIota,1,s];
,{s,{i,o}}]

Bound for N≥2

Now we want to implement the bound stated in Propositions 4.2.3. We immediantly compute the sum of the bounds over odd and even N

Declaration of variables

We implement the vectors and matricies as given in (4.2.12)-(4.2.16):

Do[
Vector[w1,s]={Bound[G3i,s],RepBubble[G1,G2,s]/(2d z[s])};
Vector[w2,s]={Bound[G3i,s],Bound[G2,s]};
Vector[w3,s]={RepBubble[Step,G3,s],RepBubble[G2,G2,s]};
MatrixB[B,s]={{Bound[G3i,s],RepBubble[G1,G2,s]/(2d z[s])},{Bound[G2,s],OpenRepBubble[G2,G0,s]}};
MatrixB[BPrime,s]={{Bound[G3i,s],Bound[G1,s]},{RepBubble[G1,G2,s]/(2d z[s]),OpenRepBubble[G2,G0,s]}}
,{s,{i,o}}]

To compute the sum oven N we compute the eigensystem of B and (OverBar[B]) to the compute a decomposition of (Subscript[w, 1])and (1,1) as explained in Section 5.3:

Do[
EigensystemsOfB[B,s]=Eigensystem[Transpose[MatrixB[B,s]]];
EigensystemsOfB[BPrime,s]=Eigensystem[Transpose[MatrixB[BPrime,s]]];
Vector[vOfw1,1,s]=EigensystemsOfB[B,s][[2,1]]*(Inverse[Transpose[EigensystemsOfB[B,s][[2]] ]].Vector[w1,s])[[1]];
Vector[vOfw1,2,s]=EigensystemsOfB[B,s][[2,2]]*(Inverse[Transpose[EigensystemsOfB[B,s][[2]] ]].Vector[w1,s])[[2]];
Vector[vOfone,3,s]=EigensystemsOfB[BPrime,s][[2,1]]*(Inverse[Transpose[EigensystemsOfB[BPrime,s][[2]] ]].{1,1})[[1]];
Vector[vOfone,4,s]=EigensystemsOfB[BPrime,s][[2,2]]*(Inverse[Transpose[EigensystemsOfB[BPrime,s][[2]] ]].{1,1})[[2]];

EigenValueB[1,s]=EigensystemsOfB[B,s][[1,1]];
EigenValueB[2,s]=EigensystemsOfB[B,s][[1,2]];
EigenValueB[3,s]=EigensystemsOfB[BPrime,s][[1,1]];
EigenValueB[4,s]=EigensystemsOfB[BPrime,s][[1,2]];
,{s,{i,o}}]

Bound on the absolute value (k=0)

We compute the sum of the bounds over all even and odd N≥ 2. These are stated in (5.4.10) and (5.4.11)

Do[
Bound[XiIota, EvenTail,s]=Sum[((Vector[vOfw1,j,s].Vector[w2,s]*EigenValueB[j,s])/(1-((EigenValueB[j,s])^2))),{j,1,2}];
Bound[XiIota, OddTail,s]=Sum[((Vector[vOfw1,j,s].Vector[w2,s]*((EigenValueB[j,s])^2))/(1-((EigenValueB[j,s])^2))),{j,1,2}];
,{s,{i,o}}]

Bounds on Difference

Then we implement the bounds given in (5.4.12)-(5.4.15):

Do[
Bound[K,s]=2d Bound[DeltaG,s];
Bound[XiIota,EvenTail,Delta,ei,s]=Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s])/(((1-((EigenValueB[j,s])^2)))^2)),{j,1,2}]Sum[((Vector[w3,s].Vector[vOfone,j,s])/(1-((EigenValueB[j,s])^2))),{j,3,4}]+Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s])/(1-((EigenValueB[j,s])^2))),{j,1,2}]Sum[((Vector[w3,s].Vector[vOfone,j,s])/(((1-((EigenValueB[j,s])^2)))^2))-((Vector[w3,s].Vector[vOfone,j,s])/(1-((EigenValueB[j,s])^2))),{j,3,4}];
Bound[XiIota,EvenTail,Delta,0,s]=2d Sum[(Vector[w2,s].Vector[vOfw1,j,s]EigenValueB[j,s])/(((1-((EigenValueB[j,s])^2)))^2)+(Vector[w2,s].Vector[vOfw1,j,s]EigenValueB[j,s])/(1-((EigenValueB[j,s])^2)),{j,1,2}]+Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s])/(((1-((EigenValueB[j,s])^2)))^2)),{j,1,2}]Sum[((Vector[w3,s].Vector[vOfone,j,s])/(1-((EigenValueB[j,s])^2))),{j,3,4}]+
Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s])/(1-((EigenValueB[j,s])^2))),{j,1,2}]Sum[((Vector[w3,s].Vector[vOfone,j,s])/(((1-((EigenValueB[j,s])^2)))^2)),{j,3,4}];
Bound[XiIota,OddTail,Delta,ei,s]=Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s])/(((1-((EigenValueB[j,s])^2)))^2)),{j,1,2}]Sum[(Vector[w3,s].Vector[vOfone,j,s]EigenValueB[j,s])/(1-((EigenValueB[j,s])^2)),{j,3,4}]+Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s])/(1-((EigenValueB[j,s])^2))),{j,1,2}]Sum[(Vector[w3,s].Vector[vOfone,j,s]EigenValueB[j,s])/(((1-((EigenValueB[j,s])^2)))^2),{j,3,4}]+
Bound[K,s] Sum[((Vector[vOfw1,j,s]EigenValueB[j,s])/(((1-((EigenValueB[j,s])^2)))^2))+((Vector[vOfw1,j,s]EigenValueB[j,s])/(1-((EigenValueB[j,s])^2))),{j,1,2}].{1,1}*OpenRepBubble[G2,G0,s];
Bound[XiIota,OddTail,Delta,0,s]=Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s]EigenValueB[j,s])/(((1-((EigenValueB[j,s])^2)))^2)),{j,1,2}]Sum[((Vector[w3,s].Vector[vOfone,j,s])/(1-((EigenValueB[j,s])^2))),{j,3,4}]+Bound[K,s] Sum[(({1,1}.Vector[vOfw1,j,s]EigenValueB[j,s])/(1-((EigenValueB[j,s])^2))),{j,1,2}]Sum[((Vector[w3,s].Vector[vOfone,j,s])/(((1-((EigenValueB[j,s])^2)))^2)),{j,3,4}]+
Bound[K,s]Sum[(Vector[w3,s].Vector[vOfone,j,s]((EigenValueB[j,s])^2))/(((1-((EigenValueB[j,s])^2)))^2)+(Vector[w3,s].Vector[vOfone,j,s]((EigenValueB[j,s])^2))/(1-((EigenValueB[j,s])^2)),{j,3,4}];
,{s,{i,o}}]

Sum over N

We combine the bounds computed in the preceding sections to compute (β^odd),(β^even),(β^abs)

Do[
Bound[XiIota,Even,s]=Bound[XiIota,0,s]+Bound[XiIota,EvenTail,s];
Bound[XiIota,Odd,s]=Bound[XiIota,1,s]+Bound[XiIota,OddTail,s];
Bound[XiIota,Absolut,s]=Bound[XiIota,Odd,s]+Bound[XiIota,Even,s];
,{s,{i,o}}]

Further, we compute

Do[
Do[
Bound[XiIota,Even, Delta,t,s]=Bound[XiIota,0, Delta,t,s]+Bound[XiIota,EvenTail, Delta,t,s];
Bound[XiIota,Odd, Delta,t,s]=Bound[XiIota,1, Delta,t,s]+Bound[XiIota,OddTail, Delta,t,s];
Bound[XiIota,Absolut, Delta,t,s]=Bound[XiIota, Odd, Delta,t,s]+Bound[XiIota,Even, Delta,t,s];
,{t,{0,ei}}]
,{s,{i,o}}]

Computation of constants of Proposition 3.3.1

In this section we compute the constances stated in Proposition 3.3.1, as described in Section 3.4.:

(∑_x)|F(x)|≤  (Subscript[K, F])=Bound[KF]
Bound[KPhi,1]=(Subscript[(UnderBar[K]), Φ])≤(OverHat[Φ])(0)≤  (Subscript[(OverBar[K]), Φ])=Bound[KPhi,2]
Bound[KPhiabs,1]=(Subscript[(UnderBar[K]), |Φ|])≤(∑_x)|Φ(x)|≤  (Subscript[(OverBar[K]), |Φ|])=Bound[KPhiabs,2]
(∑_(x≠0))|(Subscript[Φ, z])(x)|≤  (Subscript[K, |Φ|])=Bound[KPhiWithoutZero]

(∑_x)F(x)[1-cos(k x)]≥ (Subscript[K, Lower])[1-(OverHat[D])(k)]
(∑_x)|F(x)|[1-cos(k x)]≤  (Subscript[K, ΔF])[1-(OverHat[D])(k)]
(∑_x)|(Subscript[Φ, z])(x)|[1-cos(k x)]≤  (Subscript[K, ΔΦ])[1-(OverHat[D])(k)]

Bound on absolute value (Subscript[K, F])and (Subscript[K, Φ])

We compute the constances as given in Section 3.4.2:

Do[
Bound[KF, s]=((2d z[s])/(1-z[s]-(2d-2)z[s]Bound[XiIota,Absolut,s]));
Bound[KPhi,2,s]=1+Bound[KF, s]Bound[XiIota,Absolut,s];
Bound[KPhi,1,s]=1-Bound[KF, s]Bound[XiIota,Absolut,s];
Bound[KPhiabs,2,s]=1+Bound[KF, s]Bound[XiIota,Absolut,s];
Bound[KPhiabs,1,s]=1-Bound[KF, s]Bound[XiIota,Absolut,s];
Bound[KPhiWithoutZero,s]=Bound[KF, s]Bound[XiIota,Absolut,s];
,{s,{i,o}}]

Bounds on differences

Here we implement the computation of Section 3.4.3.

First the differences of (Subscript[F, 1])and (Subscript[Φ, 1]) given in lines (3.4.26),  (3.4.27),  (3.4.29)

Bound[DifferencefF,Part1,Lower,i]= ((2d z[i])/(1-((z[i])^2)));
Bound[DifferencefF,Part1,Absolut,i]=((2d z[i])/(1-((z[i])^2)));
Bound[DifferencefF,Part1,Lower,o]=Min[((2d z[o])/(1-((z[o])^2))),((2d z[i])/(1-((z[i])^2)))];
Bound[DifferencefF,Part1,Absolut,o]=Max[((2d z[o])/(1-((z[o])^2))),((2d z[i])/(1-((z[i])^2)))];
Do[
Bound[KDeltaPhi,Part1,s]=((z[s])/(1-((z[s])^2)))(Bound[XiIota,Absolut,Delta,ei,s]+z[s]Bound[XiIota,Absolut,Delta,0,s]);
,{s,{i,o}}]

Then the differences of (Subscript[F, 2]) and (Subscript[Φ, 2]): For the bound in (4.4.31), (4.4.32) and  (4.4.35) we note that we can omit the first terms as Ξ is trivial and compute

Do[Bound[DifferencefF,Part2,Lower,s]=((-2d ((z[s])^2))/(((1-((z[s])^2)))^2))( Bound[XiIota,Even,Delta,ei,s]+2d Bound[XiIota,Even,s]+((z[s])^2)Bound[XiIota,Even,Delta,0,s]+z[s](Bound[XiIota,Odd,Delta,ei,s]+2d Bound[XiIota,Odd,s]+Bound[XiIota,Odd,Delta,0,s]));
Bound[DifferencefF,Part2,Absolut,s]=((2d ((z[s])^2))/(1-((z[s])^2)))(Bound[XiIota,Absolut,Delta,ei,s]+2d Bound[XiIota,Absolut,s]+z[s]Bound[XiIota,Absolut,Delta,ei,s]+z[s]Bound[XiIota,Absolut,Delta,0,s]+2d z[s]Bound[XiIota,Absolut,s]+((z[s])^2)Bound[XiIota,Absolut,Delta,0,s]);
Bound[KDeltaPhi,Part2,s]=((2d ((z[s])^2))/(((1-z[s]))^2))2Bound[XiIota,Absolut,s](((Bound[XiIota,Absolut,Delta,ei,s]+z[s]Bound[XiIota,Absolut,Delta,0,s]))/(1+z[s]));
,{s,{i,o}}]

Finally, we compute the differences of (Subscript[F, 3]) and (Subscript[Φ, 3]), lines (4.4.37) and (4.4.38).

Do[
Bound[DifferencefF,OneOverOneMinuszPi,s]=(1/(1-((2d z[s]Bound[XiIota,Absolut,s])/(1-z[s]))));
Bound[DifferencefF,Part3,Absolut,s]=Bound[XiIota,Absolut,s]((z[s])/(1-((z[s])^2)))(((((2d z[s])/(1-z[s]))))^2)(Bound[XiIota,Absolut,Delta,ei,s]+z[s]Bound[XiIota,Absolut,Delta,0,s])*((Bound[DifferencefF,OneOverOneMinuszPi,s])^2)+((z[s])/(1-((z[s])^2)))(((((2d z[s])/(1-z[s]))))^2)Bound[XiIota,Absolut,s](Bound[XiIota,Absolut,Delta,ei,s]+2d Bound[XiIota,Absolut,s]+z[s]Bound[XiIota,Absolut,Delta,0,s])*Bound[DifferencefF,OneOverOneMinuszPi,s];

Bound[DifferencefF,Part3,Lower,s]=-Bound[DifferencefF,Part3,Absolut,s];
Bound[KDeltaPhi,Part3,s]=(((((2d))^2)((z[s])^3))/(((1-z[s]))^2))(Bound[XiIota,Absolut,Delta,ei,s]+z[s]Bound[XiIota,Absolut,Delta,0,s])(((Bound[DifferencefF,OneOverOneMinuszPi,s])^2)+Bound[DifferencefF,OneOverOneMinuszPi,s]);

Bound[KDeltaFLower,s]=1/(Bound[DifferencefF,Part1,Lower,s]+Bound[DifferencefF,Part2,Lower,s]+Bound[DifferencefF,Part3,Lower,s]);
Bound[KDeltaF,s]=Bound[DifferencefF,Part1,Absolut,s]+Bound[DifferencefF,Part2,Absolut,s]+Bound[DifferencefF,Part3,Absolut,s];
Bound[KDeltaPhi,s]=Bound[KDeltaPhi,Part1,s]+Bound[KDeltaPhi,Part2,s]+Bound[KDeltaPhi,Part3,s];
,{s,{i,o}}]

Check of the sufficient condition

Now we compute whether P(γ,Γ,z) is satisfied, see Definition 3.3.2.

NonBackLEf1Bound[i]=1;
NonBackLEf1Bound[o]=1+((2d-2)/(2d-1))Gamma1 (Bound[XiIota,Even,o]-Bound[PsiIota,0,l]);

NonBackLEf2Bound[i]=((2d-1)/(2d-2))Bound[KPhiabs,2,i]Bound[KDeltaFLower,i];
NonBackLEf2Bound[o]=((2d-1)/(2d-2))Bound[KPhiabs,2,o]Bound[KDeltaFLower,o];

For (Subscript[f, 3]) we compute the four terms and then take the maximum

Do[
NonBackLEf3Bound[Part1,s]=If[c1≤ 0,1000,(1/(2 c1))Bound[KDeltaPhi,s]Bound[KDeltaFLower,s] ];
NonBackLEf3Bound[Part2,s]=If[c2≤0,1000,(1/(2 c2))Bound[KPhiabs,2,s]Bound[KDeltaF,s]((Bound[KDeltaFLower,s])^2)];
NonBackLEf3Bound[Part3,s]=If[c3≤0,1000,((2((Bound[KDeltaFLower,s])^2))/c3)(Sqrt[Bound[KF,s]Bound[KPhiWithoutZero,s]Bound[KDeltaF,s]Bound[KDeltaPhi,s]])];NonBackLEf3Bound[Part4,s]=If[c4≤0,1000,((2((Bound[KDeltaFLower,s])^2))/c4)(2((Bound[KDeltaF,s])^2)Bound[KPhiabs,2,s]Bound[KDeltaFLower,s]+(Sqrt[Bound[KF,s]Bound[KPhiWithoutZero,s]Bound[KDeltaF,s]Bound[KDeltaPhi,s]]))];
NonBackLEf3Bound[s]=Max[NonBackLEf3Bound[Part1,s],NonBackLEf3Bound[Part2,s],NonBackLEf3Bound[Part3,s],NonBackLEf3Bound[Part4,s]];
,{s,{i,o}}]

Do[
Succes[f1,s]=NonBackLEf1Bound[s]<Gamma1;
Succes[f2,s]=NonBackLEf2Bound[s]<Gamma2;
Succes[f3,s]=NonBackLEf3Bound[s]<Gamma3;
Succes[s]=Succes[f1,s]&&Succes[f2,s]&& Succes[f3,s];
,{s,{i,o}}]
Succes[overall]=Succes[i]&&Succes[o];

Outputs

The overall result

The statement that the bootstrap was succesful is

Succes[overall]

If this succedes than the analysis of Section 3.3 can be used to proved mean-field behavoior for SAW. The denominator of in the intrared bound in (3.3.12) and (3.3.13) are given by:

((2d-2)/(2d-1))Gamma2(* ≥ (Subscript[G, z])(k)[1-(OverHat[D])(k)]*)
Bound[KPhi,2,o]Max[Bound[KDeltaFLower,o],(1/(Bound[KPhi,1,o]))](* Nominator in (4.3.13) *)

Further, we have proven that (Subscript[z, c]) is smaller than

(1/(2d-1))Gamma1

The improvement of bounds

bubbles={Graphics[{Green,Disk[{0,0},0.8]},ImageSize-> 40],Graphics[{Red,Disk[{0,0},0.8]},ImageSize-> 40]};
MethodeFourTablePart3={{Quantity,F1,F2,F3Part1,F3Part2,F3Part3,F3Part4,F2-init,F3-init},{"To beat",Gamma1,Gamma2,Gamma3,Gamma3,Gamma3,Gamma3,Gamma2,Gamma3},{Computed,NonBackLEf1Bound[o],NonBackLEf2Bound[o],NonBackLEf3Bound[Part1,o],NonBackLEf3Bound[Part2,o],NonBackLEf3Bound[Part3,o],NonBackLEf3Bound[Part4,o],NonBackLEf2Bound[i],NonBackLEf3Bound[i]},{check, If[Succes[f1,o],bubbles[[1]],bubbles[[2]]],If[Succes[f2,o],bubbles[[1]],bubbles[[2]]],If[NonBackLEf3Bound[Part1,o]<Gamma3,bubbles[[1]],bubbles[[2]]],If[NonBackLEf3Bound[Part2,o]<Gamma3,bubbles[[1]],bubbles[[2]]],If[NonBackLEf3Bound[Part3,o]<Gamma3,bubbles[[1]],bubbles[[2]]],If[NonBackLEf3Bound[Part4,o]<Gamma3,bubbles[[1]],bubbles[[2]]],If[Succes[f2,i],bubbles[[1]],bubbles[[2]]],If[NonBackLEf3Bound[i]<Gamma3,bubbles[[1]],bubbles[[2]]]},{Required (Subscript[c, i]),NonBackLEf1Bound[o],NonBackLEf2Bound[o],NonBackLEf3Bound[Part1,o]*c1/Gamma3,NonBackLEf3Bound[Part2,o]*c2/Gamma3,NonBackLEf3Bound[Part3,o]*c3/Gamma3,NonBackLEf3Bound[Part4,o]*c4/Gamma3},{given (Subscript[c, i]) ,,,c1,c2,c3,c4}};Labeled[Grid[MethodeFourTablePart3,Alignment->{Center},Frame->True,Dividers->{{2->True,-1->True},{2->True}},ItemStyle->{1->Bold,1->Bold},Background->{{None},{GrayLevel[0.9]},{None}}],Style["Bound on coefficients in Dimension "Text[d],Bold],Top]//Text

The table above shows whether the improvement of bound for the function (Subscript[f, i]) was succesfull. As the bound on (Subscript[f, 3]) is the hardest to improve we show all four parts of the maximum. This helps to choose proper value for (Subscript[c, i]) correctly me mark the required values in the table.

Additional output

MethodeFourTable={{Quantity,(Ξ^Zero),(Ξ^One),(Ξ^EvenTail),(Ξ^OddTail)},{Bound for ,Bound[XiIota,0,o],Bound[XiIota,1,o],Bound[XiIota,EvenTail,o],Bound[XiIota,OddTail,o]},{Delta Zero ,Bound[XiIota,0,Delta,0,o],Bound[XiIota,1,Delta,0,o],Bound[XiIota,EvenTail,Delta,0,o],Bound[XiIota,OddTail,Delta,0,o]},{Delta Iota ,Bound[XiIota,0,Delta,ei,o],Bound[XiIota,1,Delta,ei,o],Bound[XiIota,EvenTail,Delta,ei,o],Bound[XiIota,OddTail,Delta,ei,o]}};
MethodeFourTablePart1={{Quantity,KF,KPhi,DELTAFLower,DELTAFAbsolut,DELTAPhi},{Bound for ,Bound[KF, o],Bound[KPhi,2, o],Bound[KDeltaFLower,o],Bound[KDeltaF,o],Bound[KDeltaPhi,o]}};
MethodeFourTablePart2={{Quantity,DELTAFLower,2,3,DELTAFAbsolut,2,3,DELTAPhi,2,3},{Bound for ,Bound[DifferencefF,Part1,Lower,o],Bound[DifferencefF,Part2,Lower,o],Bound[DifferencefF,Part3,Lower,o],Bound[DifferencefF,Part1,Absolut,o],Bound[DifferencefF,Part2,Absolut,o],Bound[DifferencefF,Part3,Absolut,o],Bound[KDeltaPhi,Part1,o],Bound[KDeltaPhi,Part2,o],Bound[KDeltaPhi,Part3,o]}};Labeled[Grid[MethodeFourTable,Alignment->{Center},Frame->True,Dividers->{{2->True,-1->True},{2->True}},ItemStyle->{1->Bold,1->Bold},Background->{{None},{GrayLevel[0.9]},{None}}],Style["Bound on coefficients in Dimension "Text[d],Bold],Top]//Text
Labeled[Grid[MethodeFourTablePart1,Alignment->{Center},Frame->True,Dividers->{{2->True,-1->True},{2->True}},ItemStyle->{1->Bold,1->Bold},Background->{{None},{GrayLevel[0.9]},{None}}],Style["Bound on constants in Dimension "Text[d],Bold],Top]//Text
Labeled[Grid[MethodeFourTablePart2,Alignment->{Center},Frame->True,Dividers->{{2->True,-1->True},{2->True}},ItemStyle->{1->Bold,1->Bold},Background->{{None},{GrayLevel[0.9]},{None}}],Style["contributions of the Delta-constants in Dimension "Text[d],Bold],Top]//Text