$25
1. First slide: heading with your name, the date, exercise number and course name and year.
2. Different sections, such as (if applicable)
* Theory: Explain very briefly the theory you have based your solution on.
* Code development: Introduce strategies, tests, and report debugging problems, compilations options.
* Results: Present data and explain your results.
(a) Upload the slide report in Moodle under the correspondent exercise.
(b) File names must include your name, exercise number and codewords SLIDES, and code. Example: Ex3-Rossi-SLIDES.pdf
Exercise 1: Scaling of the matrix-matrix multiplication
Consider the program developed in Exercise 3 of Week 1 (matrix-matrix multiplication).
(a) Write a python script that changes N between two values Nmin and Nmax, and launches the program.
(b) Store the results of the time needed in different files depending on the multiplication method used.
(c) Fit the scaling of the time needed for different methods as a function of the input size. Considerthe biggest possible difference between Nmin and Nmax.
(d) Plot the results for the different multiplication methods.
Exercise 2: Eigenproblem
Consider a random Hermitian matrix A of size N.
(a) Diagonalize A and store the N eigenvalues λi in crescent order.
(b) Compute the normalized spacings between eigenvaluessi = ∆λi/∆¯λ where
∆λi = λi+1− λi,
and ∆¯λ is the average ∆λi.
Exercise 3: Random Matrix Theory
Study P(s), the distribution of the si defined in the previous exercise, accumulating values of si from different random matrices of size at least N = 1000.
(a) Compute P(s) for a random HERMITIAN matrix.
(b) Compute P(s) for a DIAGONAL matrix with random real entries.
(c) Fit the corresponding distributions with the function:
P(s) = asα exp(−bsβ)
and report α,β,a,b.
Hint: if necessary neglect the first matrix eigenvalue.