To equip us with practical computational tools for solving physical problems, including numerical methods for ODEs and PDEs, and advanced techniques like exact diagonalization for quantum many-body systems.
- Classical equation of motion (pendulum and wave problem solved by numerical ODE, such as Euler method, Leap frog and 4th order Runge Kutta method on harmonic oscillator)
- Relaxation method to solve PDE (e.g.Jacobi Relaxation)
- Method for solving space-time PDE (e.g. Forward time centred space discretisation (FTCS) and CTCS scheme method, Lax-Wendroff method)
- Quantum many body phsyics ( Exact diagonalization)
The first part of Assignment 1 is to use 3 numerical method (Euler velocity verlet and Runge Ketta method to calculate the orbit of the Earth. The fundamental procedure of the method is given the initial boundary condition and calculate the next iternation data, we would like to see which method can have a high precision to complete one orbit. The introduction of the method are written as follow:
- Euler’s Method (The first order forward differentiation)
The update rule is given by:
- Velocity Verlet method
- Runge-Kutta Methods (RK4)
By comparsion, Runge Kutta method perform the grestest performence, since the Runge Kutta method has the lowest trancation error among those method under the same iteration time step.
The latter part give the proof of Kepler's second law, which state that the Sun sweeps equal areas of space during equal time intervals as the planet orbits. If we express it in equation:
In the code, we prove that each second of 1/2 rv result respond to similar value, which means that there are similar ratio of dA/dt, which prove the Kelper's second law.
The aim of this assignment is to compare 3 different relaxiation method to solve the Poisson equation (potential problem), and use Lax and Lax-Wendroff method to solve space-time PDE.
The 3 numerical method I introduce here follow the grid (lattice) updated structure, which means that each updated point will appear 4 nearest neighbour.
Jacobi Relaxation
Jacobi Relaxation method update the iteration using the current 4 neighbour, the below is the pseudocode for Jocobi Relaxation.
Gauss-Seidel Relaxation
Gauss-Seidel Relaxation Equation
The Gauss-Seidel update rule for the 2D Poisson equation is:
The first updated iteration need to be calculated by Jacobi method, the updated rule of Gauss-Seidel method adopt the current-neighbour method, which use the updated data point immediately.
Successive Overrelaxation (SOR) Method
The update rule for the SOR method is:
SOR is a faster version of Gauss-Seidel that uses a weighted average to accelerate convergence. We need to choose the optimal weighting to do the update.
To sum up, The SOR method give the highest efficiency among the 3 method, we use 3 method to plot the 3d graph in the specific boundary condition (star and cylindrical boundary condition).
For the latter part of the assignment, we try to simulate the motion of tsunami, the equation of it is:
We are solving:
For numerical method, we adopt the Lax and Lax Wendroff method, in this course, we had also been taught with FTCS method to solve the space-time PDE, while, the solution of the FTCS scheme is not stable, the detail explaination have been written in the assignment 2.
For Lax method, it is given:
The idea of Lax method is still the exapansion of the first order foward differentiation both side, while the advantage of this method numerical diffusion added in the first term, which gives more stable prediction.
For Lax Wendroff method, it is given:
Lax-Wendroff method adopt the second order order approximation, it is more accurate than the Lax method but more running time.
The equation of tsunami is a 2 variable space-time PDE, we can solve it as two 1-D PDE which named the variable as x and y axis to solve the problem, the animation is shown in the last part of question 4.
- The follow approach tried to solve the time-independent schrodinger equation.
Wavefunction Representation and Hamiltonian Matrix
Wavefunction vector:
With boundary conditions:
Matrices:
Matrix A:
Matrix B:
Potential matrix ( \nu ):
Hamiltonian Equation:
We apply the modified Hamiltonain to find out the eigenvalue of the wavefunction, which the eigenvalue is the energy itself.
The latter part of assignment 3, we use the Crank-Nicolson Scheme to compete the schrodinger equation (PDE).
Consider the time-dependent Schrödinger equation:
Using the Crank–Nicolson scheme, the equation can be written as:
With:
Further:
Initial condition:
Which the hamiltonian can written as:
We can find out the list of all psi, then we can plot the probability distribution of the system which is the square term of psi.
Application of exact diagonlization to find energy eigen function.
We are now considering the problem in Heisenberg model.
The Hamiltonian is:
The matrix form of H is:
Exact diagonalization is a specific approach that to find out the eigenvalue of each spin operator and they manifest in the Hamililtonian matrix. We find out the eigenvalue of the Hamililtonian matrix which corrspond to the energy density function to Henserberg model. This method is only cater for specific model like Hensenberg model which the Hamilitonian matrix can be block-diagonlized and the Hamilitonian is symmetric.
We make use of exact diagonlization to calculate the ground state energy of a 10 x 10 Henserberg model.
The latter part of the Assignment is to calculate the Renyi Entropy and von Neumann entropy for N=10.
The equation of Renyi Entropy is:
While the von Neumann entropy is:
The code in my assignment follow the construction of the equation. For the reduced density matrix, it is the dot product of the eigenvector of Hamiltonian Matrix, the code have shown that there is a 10x10 reduced density matrix nad plug in the fomula to calculate the Renyi and von Neumann entropy. The graph of the diestribution of the entropy is also shown in the source code.