diff --git a/calculations/3body_Berggren_B2R_EC.jl b/calculations/3body_Berggren_B2R_EC.jl index 5860bf3..1ff156f 100644 --- a/calculations/3body_Berggren_B2R_EC.jl +++ b/calculations/3body_Berggren_B2R_EC.jl @@ -51,9 +51,14 @@ for c in training_c push!(training_vecs, evecs[:, nearestIndex(evals, current_E)]) end +weights = repeat(kron(ws, ws), jmax + 1) +weights_mat = spdiagm(weights) + training_vecs = vcat(training_vecs, conj(training_vecs)) # CA-EC +println("Original EC dimensionality = $(length(training_vecs))") +@time "Gram-Schmidt" training_vecs = gram_schmidt!(training_vecs, weights; verbose=true) # orthonormalization + EC_basis = hcat(training_vecs...) -weights_mat = spdiagm(repeat(kron(ws, ws), jmax + 1)) N_EC = transpose(EC_basis) * weights_mat * EC_basis H0_EC = transpose(EC_basis) * weights_mat * H0 * EC_basis Vp_EC = transpose(EC_basis) * weights_mat * Vp * EC_basis @@ -70,7 +75,7 @@ for c in extrapolating_c # extrapolation H_EC = H0_EC + c .* Vp_EC - evals = eigvals(H_EC, N_EC) + evals = eigvals(H_EC) push!(extrapolated, nearest(evals, current_E)) end diff --git a/calculations/3body_Berggren_R2R_EC.jl b/calculations/3body_Berggren_R2R_EC.jl index 0b3c038..431f20c 100644 --- a/calculations/3body_Berggren_R2R_EC.jl +++ b/calculations/3body_Berggren_R2R_EC.jl @@ -53,9 +53,13 @@ for c in training_c push!(training_vecs, evecs[:, nearestIndex(evals, current_E)]) end +weights = repeat(kron(ws, ws), jmax + 1) +weights_mat = spdiagm(weights) + +println("Original EC dimensionality = $(length(training_vecs))") +@time "Gram-Schmidt" training_vecs = gram_schmidt!(training_vecs, weights; verbose=true) # orthonormalization + EC_basis = hcat(training_vecs...) -weights_mat = spdiagm(repeat(kron(ws, ws), jmax + 1)) -N_EC = transpose(EC_basis) * weights_mat * EC_basis H0_EC = transpose(EC_basis) * weights_mat * H0 * EC_basis Vp_EC = transpose(EC_basis) * weights_mat * Vp * EC_basis @@ -71,7 +75,7 @@ for c in extrapolating_c # extrapolation H_EC = H0_EC + c .* Vp_EC - evals = eigvals(H_EC, N_EC) + evals = eigvals(H_EC) push!(extrapolated, nearest(evals, current_E)) end diff --git a/calculations/3body_HO_B2R_EC.jl b/calculations/3body_HO_B2R_EC.jl index 54ac2ab..f94b988 100644 --- a/calculations/3body_HO_B2R_EC.jl +++ b/calculations/3body_HO_B2R_EC.jl @@ -33,8 +33,10 @@ end # CA-EC training_vecs = vcat(training_vecs, conj(training_vecs)) +println("Original EC dimensionality = $(length(training_vecs))") +@time "Gram-Schmidt" training_vecs = gram_schmidt!(training_vecs; verbose=true) # orthonormalization + EC_basis = hcat(training_vecs...) -N_EC = transpose(EC_basis) * EC_basis H0_EC = transpose(EC_basis) * H0 * EC_basis Vp_EC = transpose(EC_basis) * Vp * EC_basis @@ -50,7 +52,7 @@ for c in extrapolating_c # extrapolation H_EC = H0_EC + c .* Vp_EC - evals = eigvals(H_EC, N_EC) + evals = eigvals(H_EC) push!(extrapolated, nearest(evals, current_E)) end diff --git a/calculations/3body_HO_R2R_EC.jl b/calculations/3body_HO_R2R_EC.jl index f560042..3a9aba9 100644 --- a/calculations/3body_HO_R2R_EC.jl +++ b/calculations/3body_HO_R2R_EC.jl @@ -27,8 +27,10 @@ for c in training_c push!(training_vecs, evecs[:, nearestIndex(evals, current_E)]) end +println("Original EC dimensionality = $(length(training_vecs))") +@time "Gram-Schmidt" training_vecs = gram_schmidt!(training_vecs; verbose=true) # orthonormalization + EC_basis = hcat(training_vecs...) -N_EC = transpose(EC_basis) * EC_basis H0_EC = transpose(EC_basis) * H0 * EC_basis V_EC = transpose(EC_basis) * V * EC_basis @@ -42,7 +44,7 @@ for c in extrapolating_c # extrapolation H_EC = H0_EC + c .* V_EC - evals = eigvals(H_EC, N_EC) + evals = eigvals(H_EC) push!(extrapolated, nearest(evals, current_E)) end diff --git a/calculations/3body_dis_HO_EC.jl b/calculations/3body_dis_HO_EC.jl index f87b182..523d1b6 100644 --- a/calculations/3body_dis_HO_EC.jl +++ b/calculations/3body_dis_HO_EC.jl @@ -59,11 +59,11 @@ for c in training_c push!(training_vecs, evecs[:, nearestIndex(evals, current_E)]) end -# CA-EC -training_vecs = vcat(training_vecs, conj(training_vecs)) +training_vecs = vcat(training_vecs, conj(training_vecs)) # CA-EC +println("Original EC dimensionality = $(length(training_vecs))") +@time "Gram-Schmidt" training_vecs = gram_schmidt!(training_vecs; verbose=true) # orthonormalization EC_basis = hcat(training_vecs...) -N_EC = transpose(EC_basis) * EC_basis Ha_EC = transpose(EC_basis) * Ha * EC_basis Vb_EC = transpose(EC_basis) * Vb * EC_basis @@ -80,7 +80,7 @@ for c in extrapolating_c # extrapolation H_EC = Ha_EC + c .* Vb_EC - evals = eigvals(H_EC, N_EC) + evals = eigvals(H_EC) push!(extrapolated, nearest(evals, current_E)) end