diff --git a/src/bst_helpers.jl b/src/bst_helpers.jl index 5115be0..8472b42 100644 --- a/src/bst_helpers.jl +++ b/src/bst_helpers.jl @@ -3,9 +3,8 @@ """ function bst_single_excitonic_basis(clusters, fspace::FockConfig{N}; R=1, Nk=2, T=Float64) where {N} """ -function bst_single_excitonic_basis(clusters, fspace::FockConfig{N}, cluster_bases::Vector{ClusterBasis{A, T}}; R=1,number_of_single_excitations=4) where {N, T, A} +function bst_single_excitonic_basis(fspace::FockConfig{N}, ci_vector::BSTstate{T,N,A}; R=1,number_of_single_excitations=4) where {N, T, A} max_index = length(fspace.config) - ci_vector = BSTstate(clusters, fspace, cluster_bases, R=R) dims = ones(Int, max_index) configs = [] for i in 2:number_of_single_excitations @@ -15,7 +14,7 @@ function bst_single_excitonic_basis(clusters, fspace::FockConfig{N}, cluster_bas end end for config in configs - ci_vector[FermiCG.FockConfig(init_fspace)][FermiCG.TuckerConfig(config)] = + ci_vector[fspace][FermiCG.TuckerConfig(config)] = FermiCG.Tucker(tuple([zeros(Float64, dims...) for _ in 1:R]...)) end return ci_vector @@ -23,9 +22,8 @@ end """ function bst_biexcitonic_basis(clusters, fspace::FockConfig{N}; R=1, Nk=2, T=Float64) where {N} """ -function bst_biexcitonic_basis(clusters, fspace::FockConfig{N}, cluster_bases::Vector{ClusterBasis{A, T}}; R=1) where {N, T, A} +function bst_biexcitonic_basis(fspace::FockConfig{N},ci_vector::BSTstate{T,N,A}; R=1) where {N, T, A} max_index = length(fspace.config) - ci_vector = BSTstate(clusters, fspace, cluster_bases, R=R) configs = [] for indices in combinations(1:max_index, 2) config = [in(k, indices) ? (2:2) : (1:1) for k in 1:max_index] @@ -33,7 +31,7 @@ function bst_biexcitonic_basis(clusters, fspace::FockConfig{N}, cluster_bases::V end dims = ones(Int, max_index) for config in configs - ci_vector[FermiCG.FockConfig(init_fspace)][FermiCG.TuckerConfig(config)] = + ci_vector[fspace][FermiCG.TuckerConfig(config)] = FermiCG.Tucker(tuple([zeros(Float64, dims...) for _ in 1:R]...)) end