Skip to content

In this project, we studied the local stability of huge biological network (eg. ecosystem) using random matrix theory. This project was completed during my stay at International Centre for Theoretical Physics, Italy.

Notifications You must be signed in to change notification settings

lingminhao/Block-structured-random-matrices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a project I had done during my visit at International Centre for Theoretical Physics (ICTP), Trieste, Italy under the supervision of Prof. Jacopo Grilli.

Block-structured-random-matrices

Motivation

Initially, Random Matrix Theory (RMT) was born due to Eugene Wigner in physics. It serves as a powerful statistical model to study huge biological network. Biological systems like gene regulatory network, protein-protein interaction network and ecological system network are usually large and complex. Thus RMT can be applied in its full potential to extract important information about them. Block-structured random matrix is a more realistic model to study the ecosystem of modular organization. To study the stability of an ecosystem, it suffices to know the rightmost eigenvalue of the random matrix. One naive method is to generate all eigenvalue by brute force and locate the rightmost eigenvalue. But this demands high time complexity as S grows. In this project, we will see how random matrix theory sheds a light to optimize this problem.

Summary of Results

Here we modelled an example of a synthetic biological interacting system among 1000 species (5 groups each of 200 species) using a random matrix. The coordinate axes represents the real and imaginary value of the eigenvalues.

As we can see below, we can find the eigenvalues by brute force (blue dots) or by using the results we derived using methodology from statistical physics (red lines + red dots). Yet, 1000 is a relatively small number.

example

When we changed to model a huge biological interacting system among 10000 species, the computer we used from ICTPs' with i7 processors and 8gb rams starts to perform poorly. (In fact, the computer crashed when I modelled interactions among 40000 species). Since we are only concerned with the rightmost eigenvalues, our methodology gives an accurate approximation (red lines + red dots). This method is way faster and efficient compared to brute force approach. Refer to Report.pdf to understand the derivation behind this result.

advantage

How to run the code

Step 1: Read Report.pdf to understand the terminology.

Step 2: Open all python scripts in code file.

Step 3: Run BlockMatrices.py (you can change the values of the parameters).

Note that this code is only valid for biological systems that follows Gaussian distribution. You can change the distribution by modifying the function "SampleNormal" in BuildMatrices.py

About

In this project, we studied the local stability of huge biological network (eg. ecosystem) using random matrix theory. This project was completed during my stay at International Centre for Theoretical Physics, Italy.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages