Install Git, and try out some of the commands covered in Morten or Nicolas's lecture slides (computing.pdftalentdftguides.pdf) for your codes in the following problems.
In your favorite programming language, make a program to construct a real symmetric $NxN$ matrix. Diagonalize it using the appropriate LAPACK or GSL routine, and write out some number of the lowest eigenvalues. (Suggestion: You might find it useful to use Mathematica (available on the ECT* computers) to diagonalize a small matrix that you can benchmark against.) This will help you test that you've linked to the GSL or LAPACK library.
The code laguerre_general.f90.zip calculates the generalized Laguerre polynomials that appear in the definition of the HO wf's, see here. Use this subroutine to create a function or subroutine that calculates the HO wf's $R_{nl}(r)$.
Check numerically that the constructed HO wf's are orthonormal. I.e., evaluate $\int r^2dr R_{nl}(r)R_{n'l'}(r)$. To do this, you will want to use Gaussian quadrature to discretize the integrals. Gaussian quadrature is discussed a bit in . (Gauss-Laguerre quadrature is ideal for this problem, but plain old Gauss-Legendre quadrature, which is widely available in canned routines you can easily find via Google, is sufficient.)
Construct the matrix elements of the Coulomb potential given by
Construct the hamilton matrix $\langle nl|H|n'l\rangle$ keeping all HO basis states $n,n'<N_{max}$. Diagonalize the matrix for increasing $N_{max}$ values for different values of the oscillator length parameter $b$ (“oscl” in the code.) $b$ and $\hbar\omega$ are related by $b = \sqrt{(\hbar/(m\omega)}$. Plot your lowest eigenvalue for each $N_{max}$ as a function of $b$ (or $\hbar\omega$).
Construct a subroutine that returns relative HO matrix elements of the Minnesota NN potential. The definition of the Minnesota potential and a sketch of how to proceed will be given on the black board.
Here are
numexercises7_14.1405355398.txt.gz · Last modified: 2014/07/14 12:29 by bogner