37 lines
1.1 KiB
Julia
37 lines
1.1 KiB
Julia
include("../../ho_basis.jl")
|
|
include("../../EC.jl")
|
|
|
|
V_of_r(r) = 2 * exp(-(r-3)^2 / (1.5)^2)
|
|
Λ = 0
|
|
m = 1.0
|
|
|
|
ϕ = 0.1 # DOESN'T WORK WITHOUT ROTATION
|
|
μω_global = 0.5 * exp(-2im * ϕ)
|
|
E_max = 40
|
|
|
|
H0 = get_3b_H_matrix(jacobi, V_of_r, μω_global, E_max, Λ, m, true, true)
|
|
|
|
# Vp = perturbation to make the state artificially bound
|
|
Vp_of_r(r) = -exp(-(r/3)^2)
|
|
@time "Vp" Vp = get_3b_H_matrix(jacobi, Vp_of_r, μω_global, E_max, Λ, m, false, true)
|
|
|
|
training_ref = 2 + 0.5im
|
|
|
|
exact_E = [4.076642792419057-0.012998408352259658im,
|
|
3.6129849325287-0.007397677539402868im,
|
|
3.145212908643357-0.0038660337822150753im,
|
|
2.6729225739451596-0.0021090370393881063im,
|
|
2.196385760253282-0.0010430088245526555im,
|
|
1.7162659936896967-0.0004515351140200029,
|
|
1.2329926791785895-0.00017698044022813525im]
|
|
|
|
training_c = [0.6 - 0.16im] .+ 0.04 .* (randn(8) .+ 0.5im * randn(8))
|
|
extrapolating_c = 0.0 : 0.2 : 1.2
|
|
|
|
EC = affine_EC(H0, Vp)
|
|
train!(EC, training_c; ref_eval=training_ref, CAEC=false)
|
|
extrapolate!(EC, extrapolating_c; precalculated_exact_E=exact_E)
|
|
|
|
exportCSV(EC, "temp/3b_HO_XZ.csv")
|
|
plot(EC, "temp/3b_HO_XZ.pdf")
|