In the code coulomboscrelme.f90.zip, you will find a subroutine (laguerre_general) that 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)$. Note that for large $n,l$ values, the factorial and double factorial functions that appear in $R_{nl}$ lead to overflow if you code them according to their naive expressions. How might you avoid this problem? [Hint: Recall that $Log{(AB\cdots)}=Log{A} + Log{B} + \cdots$.
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.1405356659.txt.gz · Last modified: 2014/07/14 12:50 by bogner