include("CPU.jl") T=Float32 function V_test(r2) return -4 * exp(-r2 / 4) end d = 1 n = 3 N = 8 L::T = 16 n_imag = 0 μ::T = 0.5 H = HOperator{T}(V_test, d, n, N, L, μ, n_imag) dim = N ^ (d * (n - 1)) H_mat = zeros(Complex{T}, dim, dim) iter = CartesianIndices(vectorDims(H)) open("temp/mat_dump.csv", "w") do f # this can be heavily optimized by getting rid of 'bi' vector for i in 1 : dim bi = zeros(Complex{T}, vectorDims(H)...) bi[iter[i]] = 1 for j in 1 : dim bj = zeros(Complex{T}, vectorDims(H)...) bj[iter[j]] = 1 Hbj = similar(bj) Hbj = mul!(Hbj, H, bj) H_mat[i, j] = dot(bi, Hbj) end end end evals, _ = eigen(H_mat) evals = real.(evals) print(evals)