Questions for beginners.

These questions show you that three common mathematical tasks at the roots of linear algebra and quantum mechanics are equivalent; the three tasks are:
  • Diagonalization of a matrix.
  • Minimization of a linear functional.
  • Fourier transform of the matrix exponential
In what sense equivalent? In the sense that if you have performed any of these tasks you can translate the answer to the other task with little-to-no effort. The “answer” if it is a vector can be imagined to be a wavefunction, if it is an scalar, you should imagine it to be an energy or an eigenvalue. Most “work” in quantum mechanics falls into one of these three categories. One quick example of their inter-relations coming in handy is quantum phase estimation which is the (3)->(1) map. A main trick not on the list is Monte-Carlo which can be used to solve (2) and (3) as an integral approximation. It can be used for (1) as well which was the topic of recent research.
  1. Show how to exponentiate a matrix trivially, assuming it can be diagonalized (ie: assuming you know it’s eigenvalues and eigenvectors).
  2. Show that the vector v, which minimizes the “Ritz functional” of the matrix A,ritz , is the eigenvector of A with smallest eigenvalue. (HINT: assume eigen-decomposition of A). Side question: Show that E{v} is stationary ie: has derivative zero if and only if v is an eigenvector of A.
  3. Show that the Fourier transform: G(\omega) = \int_-\infty^\infty exp(-iAt+i\omega t)dt where A is a Hermitian matrix, has poles (singularities etc.) at the eigenvalues of A. (hint use properties of Fourier transform and eigendecomposition of A)

Getting started with scientific programming.

For an individual who has no previous coding experience, playing with Python is the most efficient way to begin in scientific programming. Even very advanced C++/Fortran coders who know Python will confess it’s virtually always the fastest route to small programs and the fastest route to results for “easy-to-medium” tasks. It requires much less “legacy” knowledge (UNIX shell, build systems, debuggers, libraries etc.) than a systems programming language, and it has a very mature open-source suite of scientific libraries basically exceeding the utility of Matlab.

So go ahead and install Python and Scipy/Numpy on your computer. Make some plots with matplotlib. Calculate some eigenspectra. For further reading check out Dive into Python. There’s even whole electronic structure codes wholly realized in Python. Recoding some Numerical Recipes in Python is a worthwhile exercise for anyone who wants to do scientific programming.

In my experience most computational groups do a bad job of sharing code and collaborating on code. At the end of the day this leads to time-wasted due to reduplicated effort, and time wasted trying to find “the version that worked.”. We will use the free tools Bitbucket, and git to share and maintain codes our group works on. There’s a quite nice free book available about git you can easily digest in a weekend.

 

Reading to get started…

Good books to grab if you want to study electronic structure theory:

The obvious one is Szabo & Ostlund (~7$ on ‘zon) although it’s nowadays quite antiquated.

If you can instead find Helgaker & Jorgenson’s book, I would read it instead.

To learn about Density Functional Theory, Burke’s free manifesto is good.

Of course electronic structure is just a drop in the bucket of science, and I have found these other books quite illuminating:

Tuckerman’s Stat. Mech

Tannor’s quantum dynamics textbook

Nitzan’s book about Condensed Phase Chemical Dynamics

Quantum Many-Body textbook of Fetter and Walecka (a cheap dover gem)

You won’t meet many students who have a mastery of all-of-the above textbooks, but each is very useful for it’s own reasons.

Good papers for all young theoretical chemists to read:

This is a by-no-means exhaustive, subjective list of seminal papers in the area of theoretical chemistry that I will add to slowly. Reading these papers is useful both for the subject of the paper, but also to see how genuinely transformational science is done. To students with a good background this list may seem silly, but to students just beginning it could be quite useful.

General:

Metropolis:  http://jcp.aip.org/resource/1/jcpsa6/v21/i6/p1087_s1

Transition state theory: http://jcp.aip.org/resource/1/jcpsa6/v3/i2/p107_s1

Path-Integral:

Parinello & Rahman: http://jcp.aip.org/resource/1/jcpsa6/v80/i2/p860_s1

AIMD:

CPMD: http://link.aps.org/doi/10.1103/PhysRevLett.55.2471

Tully: http://jcp.aip.org/resource/1/jcpsa6/v101/i6/p4657_s1

Quantum Many-Body Problem:

The Failure of PT: http://link.springer.com/article/10.1007%2FBF00698753?LI=true

Coupled-Cluster: http://pra.aps.org/abstract/PRA/v5/i1/p50_1

DMRG: http://prl.aps.org/abstract/PRL/v69/i19/p2863_1

DFT:

Kohn-Sham: http://prola.aps.org/abstract/PR/v140/i4A/pA1133_1

Becke’s functional ingredients: http://link.aps.org/doi/10.1103/PhysRevA.38.3098

and: http://jcp.aip.org/resource/1/jcpsa6/v98/i7/p5648_s1