summaryrefslogtreecommitdiff
path: root/schofield.wl
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2021-03-26 17:17:45 +0100
committerJaron Kent-Dobias <jaron@kent-dobias.com>2021-03-26 17:17:45 +0100
commitc9967adc9f7545667f747fd066ea61cbc20d8d13 (patch)
treed2553e2094075b694a8903c72b7cf891e20d8f0f /schofield.wl
parent7648a521d9f90820ad22ae47c9a9aad481f3a2c2 (diff)
downloadmma-c9967adc9f7545667f747fd066ea61cbc20d8d13.tar.gz
mma-c9967adc9f7545667f747fd066ea61cbc20d8d13.tar.bz2
mma-c9967adc9f7545667f747fd066ea61cbc20d8d13.zip
Fixed efficiency problems, having convergence issues now.
Diffstat (limited to 'schofield.wl')
-rw-r--r--schofield.wl32
1 files changed, 15 insertions, 17 deletions
diff --git a/schofield.wl b/schofield.wl
index 0d18848..646881d 100644
--- a/schofield.wl
+++ b/schofield.wl
@@ -35,28 +35,26 @@ t[θ_] := (θ)^2 - 1
h[n_][θ_] := (1 - (θ/θc)^2) Sum[gC[i] θ^(2i+1), {i, 0, n}]
RFf[y_] := π^-1 y Exp[1/y] ExpIntegralEi[-1/y]
-RF[n_][θ_] := A (RFf[B(θc-θ)] + RFf[B(θc+θ)]) + Sum[FC[i] θ^(2i) , {i, 0, n}]
+RFnonsingular[n_][θ_] := A RFf[B(θc+θ)] + Sum[FC[i] θ^(2i) , {i, 0, n}]
+RF[n_][θ_] := A RFf[B(θc-θ)] + RFnonsingular[n][θ]
+
+RFfCoeff[m_] := 0 /; m < 2
+RFfCoeff[m_] := Gamma[m - 1] / π /; m > 1
ruleB[g_] := π / (2 1.3578383417066) (- g'[θc] / t[θc]^Δ[2])
-eqLow[F_, h_][m_] := SeriesCoefficient[
- F[θ] - t[θ]^2 (Gl[h[θ] t[θ]^-Δ[2]] + Log[t[θ]^2]/(8 π)),
- {θ, θc, m},
- Assumptions -> Join[$Assumptions, {θ < θc, θ > 1}]
-]
+eqLow[n_, h_][m_] := -A B^m RFfCoeff[m] + D[
+ RFnonsingular[n][θ] - t[θ]^2 (Gl[h[θ] t[θ]^-Δ[2]] + Log[t[θ]^2]/(8 π)),
+ {θ, m} ] / m! /. θ -> θc
-eqHigh[F_, h_][m_] := SeriesCoefficient[
- F[θ] - (-t[θ])^2 (Gh[h[θ] (-t[θ])^-Δ[2]] + Log[(-t[θ])^2]/(8 π)),
- {θ, 0, m},
- Assumptions -> Join[$Assumptions, {θ > 0, θ < 1}]
-]
+eqHigh[n_, h_][m_] := D[
+ RF[n][θ] - (-t[θ])^2 (Gh[h[θ] (-t[θ])^-Δ[2]] + Log[(-t[θ])^2]/(8 π)),
+ {θ, m} ] /. θ -> 0
-eqMid[F_, h_][m_] := SeriesCoefficient[
- F[θ] - t[θ]^2 Log[h[θ]^2]/(8 Δ[2]π) - h[θ]^((2-α[2])/Δ[2]) Φ[η]
+eqMid[n_, h_][m_] := D[
+ RF[n][θ] - t[θ]^2 Log[h[θ]^2]/(8 Δ[2]π) - h[θ]^((2-α[2])/Δ[2]) Φ[η]
/. η -> t[θ] / h[θ]^(1 / Δ[2]),
- {θ, 1, m},
- Assumptions -> Join[$Assumptions, {θ > 0, θ < θc}]
-]
+ {θ, m} ] /. θ -> 1
Φs = {
-1.197733383797993,
@@ -103,7 +101,7 @@ GhRules = MapIndexed[dRule[Gh], Ghs];
rules[g_] := Join[{B -> ruleB[g]}, ΦRules, GlRules, GhRules]
-eq[F_, g_][m_] := Select[Flatten[{eqLow[F, g][#], eqMid[F, g][#], eqHigh[F, g][#]} & /@ Range[0, m]] /. rules[g], !(# === 0) &]
+eq[F_, g_][m_] := Flatten[Join[{eqLow[F, g][#], eqMid[F, g][#]} & /@ Range[0, m], eqHigh[F, g] /@ Range[0, m, 2]]] /. rules[g]
EndPackage[]