Refactoring
This commit is contained in:
parent
be6ada203e
commit
df1600cc6f
|
|
@ -7,6 +7,7 @@ println("No of threads = ", Threads.nthreads())
|
||||||
|
|
||||||
atol = 10^-5
|
atol = 10^-5
|
||||||
maxevals = 10^5
|
maxevals = 10^5
|
||||||
|
R_cutoff = 16
|
||||||
|
|
||||||
Λ = 0
|
Λ = 0
|
||||||
m = 1.0
|
m = 1.0
|
||||||
|
|
@ -16,7 +17,7 @@ m = 1.0
|
||||||
Va = -2
|
Va = -2
|
||||||
Ra = 2
|
Ra = 2
|
||||||
V_of_r(r) = Va * exp(-r^2 / Ra^2)
|
V_of_r(r) = Va * exp(-r^2 / Ra^2)
|
||||||
V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16)
|
V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
|
||||||
|
|
||||||
vertices = [0, 0.5 - 0.3im, 1, 4]
|
vertices = [0, 0.5 - 0.3im, 1, 4]
|
||||||
subdivisions = [10, 10, 10]
|
subdivisions = [10, 10, 10]
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ include("berggren.jl")
|
||||||
println("No of threads = ", Threads.nthreads())
|
println("No of threads = ", Threads.nthreads())
|
||||||
atol = 10^-5
|
atol = 10^-5
|
||||||
maxevals = 10^5
|
maxevals = 10^5
|
||||||
|
R_cutoff = 16
|
||||||
|
|
||||||
Λ = 0
|
Λ = 0
|
||||||
m = 1.0
|
m = 1.0
|
||||||
|
|
@ -15,7 +16,7 @@ m = 1.0
|
||||||
target = 4.0766890719636875 - 0.012758927741074495im
|
target = 4.0766890719636875 - 0.012758927741074495im
|
||||||
|
|
||||||
V_of_r(r) = 2 * exp(-(r-3)^2 / (1.5)^2)
|
V_of_r(r) = 2 * exp(-(r-3)^2 / (1.5)^2)
|
||||||
V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16)
|
V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
|
||||||
|
|
||||||
vertices = [0, 2 - 0.2im, 3, 4]
|
vertices = [0, 2 - 0.2im, 3, 4]
|
||||||
subdivisions = [15, 10, 10]
|
subdivisions = [15, 10, 10]
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ println("No of threads = ", Threads.nthreads())
|
||||||
|
|
||||||
atol = 10^-5
|
atol = 10^-5
|
||||||
maxevals = 10^5
|
maxevals = 10^5
|
||||||
|
R_cutoff = 16
|
||||||
|
|
||||||
exact_ref = reverse([4.076662025307587-0.012709842443350328im,
|
exact_ref = reverse([4.076662025307587-0.012709842443350328im,
|
||||||
3.613318119833891-0.007335804709990623im,
|
3.613318119833891-0.007335804709990623im,
|
||||||
|
|
@ -46,13 +47,13 @@ println("Basis size = $basis_size")
|
||||||
end
|
end
|
||||||
|
|
||||||
@time "Va1" begin
|
@time "Va1" begin
|
||||||
Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16)
|
Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
|
||||||
Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
||||||
Va1 = blockdiag(sparse.(Va1_blocks)...)
|
Va1 = blockdiag(sparse.(Va1_blocks)...)
|
||||||
end
|
end
|
||||||
|
|
||||||
@time "Vb1" begin
|
@time "Vb1" begin
|
||||||
Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16)
|
Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
|
||||||
Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
||||||
Vb1 = blockdiag(sparse.(Vb1_blocks)...)
|
Vb1 = blockdiag(sparse.(Vb1_blocks)...)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ println("No of threads = ", Threads.nthreads())
|
||||||
|
|
||||||
atol = 10^-5
|
atol = 10^-5
|
||||||
maxevals = 10^5
|
maxevals = 10^5
|
||||||
|
R_cutoff = 16
|
||||||
|
|
||||||
training_c = [1.1, 0.9, 0.7, 0.5]
|
training_c = [1.1, 0.9, 0.7, 0.5]
|
||||||
extrapolating_c = 0.0 : 0.2 : 1.2
|
extrapolating_c = 0.0 : 0.2 : 1.2
|
||||||
|
|
@ -54,13 +55,13 @@ println("Basis size = $basis_size")
|
||||||
end
|
end
|
||||||
|
|
||||||
@time "Va1" begin
|
@time "Va1" begin
|
||||||
Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16)
|
Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
|
||||||
Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
||||||
Va1 = blockdiag(sparse.(Va1_blocks)...)
|
Va1 = blockdiag(sparse.(Va1_blocks)...)
|
||||||
end
|
end
|
||||||
|
|
||||||
@time "Vb1" begin
|
@time "Vb1" begin
|
||||||
Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16)
|
Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
|
||||||
Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
|
||||||
Vb1 = blockdiag(sparse.(Vb1_blocks)...)
|
Vb1 = blockdiag(sparse.(Vb1_blocks)...)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue