Template

From Thom Group Wiki
Jump to navigation Jump to search

Project Title

Project aims/abstract

Current state of the project and next steps

Useful skills and knowledge

This project requires the knowledge of the following:

Theoretical

  • Familiarity with the integral types of electronic structure theory (including their symmetries), and the efficient process of integral transformation
  • Basic notions of linear algebra, and matrix decomposition techniques
  • Understanding the mindset of scaling arguments (memory and computational)
  • Understanding of Hartree-Fock and MP2 theory, and the basic notions of coupled cluster theory (derivation is not required)

Practical

  • Basic understanding of the C++ syntax (or understanding the syntax of another programming language (e.g., Python) and willingness to explore how the other language works)
  • Some familiarity with terminal commands, bash scripting, and the VI editor

Learning outcomes

Theoretical

  • Navigating electronic structure literature on integrals, and finding relevant information for understanding/implementation purposes
  • Knowledge on existing approximation techniques that are extensively used in concurrent literature
  • Understanding the context of fitting (where and why we use it in the methods we are interested in, and what the advantage/limitations of the proposed technique are)
  • Knowledge on relevant statistical measures for performance testing

Practical

  • Knowledge on C++ specific structures
  • Familiarity and usage of the OpenMP/MPI parallelisation techniques in practice
  • Efficiency optimisation of codes: using relevant matrix operation packages, and appropriate computational algorithms
  • Efficient ways of dealing with test sets and extracting data (bash/Python scripting)
  • Using Linux-based systems, computer clusters and schedulers

Interesting references

  1. O. Vahtras, J. Almlöf, and M. W. Feyereisen, Chem. Phys. Lett. 213, 5–6, 514–518 (1993).
  2. M. Vose, IEEE Transactions on Software Engineering 17, 9, 972–975 (1991).
  3. Practical account on the alias method
  4. T. Y. Takeshita, W. A. de Jong, D. Neuhauser, R. Baer, and E. Rabani, J. Chem. Theory Comput. 13, 4605–4610 (2017).