Davidson solver
ElemCo.DavidsonSolver — ModuleDavidson solver moduleMain structure
ElemCo.DavidsonSolver.Davidson — TypeDavidson object
Exported functions
ElemCo.DavidsonSolver.addvecs! — Methodaddvecs!(dav::Davidson, tvecs, prods)Add trial and product vectors to Davidson object and update effective Hamiltonian matrix.
ElemCo.DavidsonSolver.dav_normalize! — Methoddav_normalize!(vecs, vecs2)Normalize vectors vecs and rescale vecs2 accordingly.
ElemCo.DavidsonSolver.dav_normalize! — Methoddav_normalize!(vecs)Normalize vectors.
ElemCo.DavidsonSolver.diagonalize — Methoddiagonalize(dav::Davidson)Diagonalize effective Hamiltonian matrix.
ElemCo.DavidsonSolver.orthogonalize! — Methodorthogonalize!(dav::Davidson, vecs)Orthogonalize vectors to trial vectors.
ElemCo.DavidsonSolver.perform! — Methodperform!(dav::Davidson, tvecs_nst, prods_nst, states)Perform Davidson algorithm.
tvecs_nst and prods_nst are trial and product vectors for each state.
ElemCo.DavidsonSolver.perform! — Methodperform!(dav::Davidson, tvecs, prods)Perform Davidson algorithm.
tvecs and prods are trial and product vectors for the first state.
Internal functions
ElemCo.DavidsonSolver.addprodvecs! — Methodaddprodvecs!(dav::Davidson, prods)Add product vectors to Davidson object and update effective Hamiltonian matrix.
ElemCo.DavidsonSolver.addtrialvecs! — Methodaddtrialvecs!(dav::Davidson, tvecs)Add trial vectors to Davidson object and update effective overlap matrix (in non-hermitian case).
Note: tvecs will be orthogonalized and normalized.
ElemCo.DavidsonSolver.addtrialvecs4allstates! — Methodaddtrialvecs4allstates!(dav::Davidson, tvecs_nst)Add trial vectors to Davidson object and update effective overlap matrix (in non-hermitian case).
tvecs_nst are trial vectors for each state.
ElemCo.DavidsonSolver.combine! — Methodcombine!(dav::Davidson, outvec, vecfiles, coeffs)Combine vectors from files with coefficients.
outvec is the output vector.
ElemCo.DavidsonSolver.combine — Methodcombine(dav::Davidson, vecfiles, coeffs)Combine vectors from files with coefficients.
ElemCo.DavidsonSolver.hermitian — Methodhermitian(dav::Davidson)Check if Davidson object is hermitian.
ElemCo.DavidsonSolver.loadprods — Methodloadprods(dav::Davidson, ipos)Load product vectors from file at position ipos as Vector{Vector{Float64}}.
ElemCo.DavidsonSolver.loadtvecs — Methodloadtvecs(dav::Davidson, ipos)Load trial vectors from file at position ipos as Vector{Vector{Float64}}.
ElemCo.DavidsonSolver.loadvecs — Methodloadvecs(file)Load vectors from file as Vector{Vector{Float64}}.
ElemCo.DavidsonSolver.saveprods — Methodsaveprods(dav::Davidson, vecs)Save vectors to next file.
ElemCo.DavidsonSolver.savetvecs — Methodsavetvecs(dav::Davidson, vecs)Save trial vectors to next file.
ElemCo.DavidsonSolver.update_Heff! — Methodupdate_Heff!(dav::Davidson, tvecs, prods)Update effective Hamiltonian matrix.
tvecs and prods are trial and product vectors (for one state) for the current iteration of Davidson algorithm (stored at dav.nDim position).
ElemCo.DavidsonSolver.update_Heff! — Methodupdate_Heff!(dav::Davidson, prods)Update effective Hamiltonian matrix (symmetrically).
prods are product vectors (for one state) for the current iteration of Davidson algorithm (stored at dav.nDim position).
ElemCo.DavidsonSolver.update_Seff! — Methodupdate_Seff!(dav::Davidson, tvecs)Update effective overlap matrix.
tvecs are trial vectors (for one state) for the current iteration of Davidson algorithm (stored at dav.nDim position).