Update September 12

Dear All,

welcome to a new week with computational physics!  Last week we discussed in larger detail Gaussian elimination, LU decomposition and iterative methods (Jacobi's and Gauss-Seidel) for solving equations of the type A^x^=b^. This material is covered by chapter 6 of the lecture notes and the slides on matrix handling and linear algebra. This week we move to eigenvalue problems, that is A^x^=λx^, discussed in chapter 7 of the lecture notes and the slides on eigenvalue problems, see for example http://compphysics.github.io/ComputationalPhysics/doc/pub/eigvalues/html/eigvalues.html

Project 2 deals with eigenvalue problems and our focus will be on writing our own code using Jacobi's method for finding the eigenvalues and eigenvectors. Although we focus on a quantum mechanical problem, the algorithm you end up writing will be general enough so that you can apply it to many other eigenvalue problems. 

 

We will thus focus on how to solve project 2 first and discuss Jacobi's method in detail during this week's lectures. The first three sections of chapter7 are thus the most relevant ones this week.  Project 2 is available, see for example, at http://compphysics.github.io/ComputationalPhysics/doc/Projects/2017/Project2/html/Project2-bs.html

 

At the lab I will discuss how to optimize your codes without too much hassle using vectorization, see for example the slides at http://compphysics.github.io/ComputationalPhysics/doc/pub/codeoptimization/html/codeoptimization.html. I will also discuss how to use unit tests. For C++ user we will focus on a very easy use library, namely catch!! See https://github.com/philsquared/Catch. I will show examples on how we can implement this in our program for project 2. 

 

Best wishes to you all

Morten

Publisert 13. sep. 2017 07:41 - Sist endret 13. sep. 2017 07:41