This is the companion GitHub repository for arXiv:2310.04405 . This repository presents the gravitational waveform data at tree level for arbitrary spin without expansion the spin parameter.
The file for waveform data with exact result is in "resAllFinalq1New.txt" and "resAllFinalq2New.txt".
"resAllFinalq1New.txt" is for the
integralq1 = Import["resAllFinalq1New.txt"] // ToExpression;
integralq2 = Import["resAllFinalq2New.txt"] // ToExpression;
integralAll = I (integralq1 + integralq2) /. {a[1] -> -I at[1], S[1] -> -I St[1]} /. e[1] -> - (3/4) /. dot[at[1], v[2]] -> 0;
at[1] in the code donotes the
In practice, one needs to add a prefactor of
integralNum=integralAll/.{SomeNumericalReplacementExcept_u};
resAllw2 = Coefficient[integralNum, \[Omega]^2];
resAllw1 = Coefficient[integralNum, \[Omega]] /. \[Omega] -> 0;
resAllw0 = integralNum /. \[Omega] -> 0;
resnum0 = resAllw0;
resnum1 = I D[resAllw1, u];
resnum2 = -D[D[resAllw2, u], u];
integralNum = resnum0 + resnum1 + resnum2;
Then you can generate the numerical data for use. Enjoy!
The file for waveform data expanded in powers of spin is in "resAllFinalq2NewSeries.txt" and "resAllFinalq2NewSeries.txt". Here we only put out the expanded result upto
"resAllFinalq1NewSeries.txt" is for the
integralq1Series = Import["resAllFinalq1NewSeries.txt"] // ToExpression;
integralq2Series = Import["resAllFinalq2NewSeries.txt"] // ToExpression;
integralq1Seriesa4 = Sum[Series[ integralq1Series[[ii]] /. {a[1] -> t a[1], S[1] -> t S[1]}, {t, 0, 4}] // Normal, {ii, Length@integralq1Series}];
integralq2Seriesa4 = Sum[Series[integralq2Series[[ii]] /. {a[1] -> t a[1], S[1] -> t S[1]}, {t, 0, 4}] // Normal, {ii, Length@integralq2Series}];
integralAll2 = -I (integralq1Seriesa4 + integralq2Seriesa4) /. t -> 1 /. e[1] -> - (3/4);
Similarly to the unexpanded waveform, you need to replace the frequency
integralNum=integralAll/.{SomeNumericalReplacementExcept_u};
integralNum =
CoefficientRules[integralNum, \[Omega]] /.
Rule[f1_, f2_] :> (I)^f1[[1]] D[f2, {u, f1[[1]]}] // Total;
The above code is a naive example, in practice you may do better with more efficient code instead.
The file for waveform integrand is in "rescaledAmpSaS0q1.txt" and "rescaledAmpSaS0q2Simple.txt". If you want to perform the integration in another way, you can use the two files:
"rescaledAmpSaS0q1.txt" is for the
To used the code, you need some subprogramms to evaluate the entire functions. The minimal subprogrammes are included in "TestforUse.nb".
The five-point classical spin amplitude is in "intMAllSimple.txt". To load the five-point result use the following code:
intMAll = Import["intMAllSimple.txt"] // ToExpression;
intResHEFTFinal = intMAll[[1]];
props = intMAll[[2]];
fivePointAmplitude =
intResHEFTFinal /.
j[gr1, f__] :> Times @@ MapThread[Power, {props, -{f}}] // Expand;
The four-point classical spin amplitude is in "amp4ClassForUse.txt". If you want to use the four-point Compton amplitude in other gravitational processes, you need to load this file. All the entire functions are expanded to