Newer
Older
function compute_density_profile(orbital::T, xgrid::Array{DType,1}, obdm::Array{DType,2}; kwargs...)::Array{DType,1} where T<:Orbital
""" Takes the one-body density matrix and returns the spatial density-profile
on the specified position grid (unnormalized).
"""
density = zeros(DType, (length(xgrid),))
for i=1:size(obdm)[1]
di = conj.(orbital.(i, xgrid))
for j=1:size(obdm)[2]
density .+= di.* orbital.(j, xgrid) .* obdm[i,j]
end
end
return -density
end
function compute_updown_noise_correlation(orbital::T, xgrid::Array{DType,1}, tbdm::Array{DType,4}; kwargs...)::Array{DType,2} where T<:Orbital
""" Takes the two-body density matrix (for up and down) and returns the spatial noise-correlation-profile
on the specified position grid (unnormalized).
"""
nn_corr = zeros(DType, (length(xgrid),length(xgrid)))
for i=1:size(obdm)[1]
di = conj.(orbital.(i, xgrid))
for j=1:size(obdm)[2]
density .+= di.* orbital.(j, xgrid) .* obdm[i,j]
end
end
return -density
end