Simulating the electronic structure is without a doubt a complex problem, where state-of-the-art approaches are the outcome of a combined interdisciplinary effort. For making further progress in this direction one challenge is in fact the increasing size and complexity of predominant quantum-chemistry codes : For example improving quantum-chemical algorithms by developing a rigorous mathematical framework for them often requires both problem and numerical scheme to be boiled down to a minimal, "provable" subset. The lessons learned are then expanded back onto a problem of practical relevance. Present codes are usually not flexible enough to support this full process, which turns out to be a major obstacle. This talk will sketch two recent projects, where modern software-development techniques and dynamic languages like Python or Julia open the code base for interdisciplinary efforts on the border between mathematics, numerics and quantum chemistry.
DFTK [1], the density-functional tool kit, facilitates mathematically-driven improvements to existing algorithms in the context of plane-wave density-functional theory approaches. The code base is kept simple and accessible, such that provable toy problems can be easily implemented. At the same time DFTK should allow to scale findings to the high-performance computing level and thus bridge the gap to real-world applications. This contribution will discuss our Julia- based design and hint at the capabilities to swap the computational backend or change numerical precision. DFTK is joint work with A. Levitt (Paris) and E. Cancès (Paris).
adcc [2] is an algebraic-diagrammatic construction (ADC) code, where not only the computa- tional workflow, but also the iterative solver algorithms are implemented in high-level Python. This allows adcc to be connected to arbitrary SCF programs and enables rapid development of new numerical schemes for ADC. Since all tensor computations are done in C++, adcc achieves comparable performance to a pure C++ implementation. adcc is joint work with the Dreuw group from Heidelberg (M. Scheurer, T. Fransson, D. Rehn, A. Dreuw).
(1) https://github.com/mfherbst/DFTK.jl
(2) https://adc-connect.org