Skip to content

Commit 8bc3703

Browse files
authored
Merge pull request #18 from numericalEFT/dev
minor update
2 parents 7b84c5d + 2395645 commit 8bc3703

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

example/SYK.jl

+18-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ A SYK model solver based on a forward fixed-point iteration method.
33
44
The self-energy of the SYK model is given by,
55
6-
Σ(τ) = J^2 * G(τ) * G(τ) * G(β-τ),
6+
Σ(τ) = J² * G(τ) * G(τ) * G(β-τ),
77
88
where Green's function of the SYK model is given by the Dyson equation,
99
@@ -85,14 +85,24 @@ end
8585

8686
printstyled("===== Symmetrized DLR solver for SYK model =======\n", color = :yellow)
8787
mix = 0.1
88-
d = DLRGrid(Euv = 5.0, β = 1000.0, isFermi = true, rtol = 1e-6, symmetry = :ph) # Initialize DLR object
89-
G_x = solve_syk_with_fixpoint_iter(d, 0.00, mix = mix)
90-
printG(d, G_x)
88+
dsym = DLRGrid(Euv = 5.0, β = 1000.0, isFermi = true, rtol = 1e-8, symmetry = :ph) # Initialize DLR object
89+
G_x_ph = solve_syk_with_fixpoint_iter(dsym, 0.00, mix = mix)
90+
printG(dsym, G_x_ph)
9191

9292
printstyled("===== Unsymmetrized DLR solver for SYK model =======\n", color = :yellow)
93-
mix = 0.01
94-
d = DLRGrid(Euv = 5.0, β = 1000.0, isFermi = true, rtol = 1e-6, symmetry = :none) # Initialize DLR object
95-
G_x = solve_syk_with_fixpoint_iter(d, 0.00, mix = mix)
96-
printG(d, G_x)
93+
mix = 0.02
94+
dnone = DLRGrid(Euv = 5.0, β = 1000.0, isFermi = true, rtol = 1e-8, symmetry = :none) # Initialize DLR object
95+
G_x_none = solve_syk_with_fixpoint_iter(dnone, 0.00, mix = mix)
96+
printG(dnone, G_x_none)
97+
98+
printstyled("===== Unsymmetrized versus Symmetrized DLR solver =======\n", color = :yellow)
99+
@printf("%15s%40s%40s%40s\n", "τ", "sym DLR (interpolated)", "unsym DLR", "difference")
100+
G_x_interp = tau2tau(dsym, G_x_ph, dnone.τ)
101+
for i in 1:dnone.size
102+
if dnone.τ[i] <= dnone.β / 2
103+
@printf("%15.8f%40.15f%40.15f%40.15f\n", dnone.τ[i], real(G_x_interp[i]), real(G_x_none[i]), abs(real(G_x_interp[i] - G_x_none[i])))
104+
end
105+
end
106+
println("maximumal difference: ", diff(G_x_interp, G_x_none))
97107

98108

0 commit comments

Comments
 (0)