Section 2

In this notebook we provide an example of computing the scattering amplitude of (Subscript[M, 0,5]) using the Cachazo-He-Yuan formula (https://arxiv.org/abs/1306.6575 )
The following is the log-likelihood function on (Subscript[M, 0,5]), also called the scattering potential in physics literature.

logLikelihood=(Subscript[s, 1])Log[x]+(Subscript[s, 2])Log[y]+(Subscript[s, 3])Log[1-x]+(Subscript[s, 4])Log[1-y]+(Subscript[s, 5])Log[y-x];

We symbolically solve for the critical points of the log-likelihood function. They are the points where the partial derivatives vanish.

{D[logLikelihood,x]==0,D[logLikelihood,y]==0}

critPts=FullSimplify[Solve[{D[logLikelihood,x]==0,D[logLikelihood,y]==0},{x,y}]]

To compute the scattering amplitude using the CHY formula, we need two ingredients.  The first is the Hessian determinant of the log-likelihood function.  The second is called the Parke-Taylor factor PT = (1/((Subscript[p, 12])(Subscript[p, 23])(Subscript[p, 34])(Subscript[p, 45])(Subscript[p, 51]))).

We first compute the Hessian.

H=Table[D[D[logLikelihood,w],z],{w,{x,y}},{z,{x,y}}];
MatrixForm[H]

We use the following parametrization for (Subscript[M, 0,5]).

M=Transpose[{{1,1,1,1,0},{0,x,y,1,1}}];
Minors[M,2]

The Parke-Taylor factor is PT = (1/((Subscript[p, 12])(Subscript[p, 23])(Subscript[p, 34])(Subscript[p, 45])(Subscript[p, 51]))).

Times@@Map[((Det[M[[#]]])^(-1))&,{{1,2},{2,3},{3,4},{4,5},{5,1}}]

PT=(1/(x(-x+y)(1-y)));

The scattering amplitude is computed as the sum over the critical points of the log-likelihood function of the integrand we described before
 (∑_critPts)((1/(Det[H]))(PT^2)) 
 It can be simplified to a rational expression in terms of (Subscript[s, i]), namely expression (10) in the paper. However, this computation is very slow symbolically, so we give a numerical confirmation that the scattering amplitude is indeed equal to expression (10).
We plug in numerical values for (Subscript[s, i]).

svar={(Subscript[s, 1]),(Subscript[s, 2]),(Subscript[s, 3]),(Subscript[s, 4]),(Subscript[s, 5])};
svalue=RandomInteger[{1,50},{5}]
ncritPts=critPts/.Thread[svar->svalue]

nH=H/.Thread[svar->svalue];
amplitude=Simplify[((1/(Det[nH]))(PT^2)/.ncritPts[[1]])+((1/(Det[nH]))(PT^2)/.ncritPts[[2]])]

We evaluate expression (10):

expression10=(1/((Subscript[s, 1])(Subscript[s, 4])))+(1/((Subscript[s, 4])((Subscript[s, 3])+(Subscript[s, 4])+(Subscript[s, 5]))))+(1/(((Subscript[s, 3])+(Subscript[s, 4])+(Subscript[s, 5]))(Subscript[s, 5])))+(1/((Subscript[s, 5])((Subscript[s, 1])+(Subscript[s, 2])+(Subscript[s, 5]))))+(1/(((Subscript[s, 1])+(Subscript[s, 2])+(Subscript[s, 5]))(Subscript[s, 1])));
Simplify[expression10/.Thread[svar->svalue]]

We see that the amplitudes computed in the two ways agree.