GithubHelp home page GithubHelp logo

didiervega / randommatrix Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 226.79 MB

This is a project related to multifractality in random networks and spatial long-range analysis.

License: MIT License

Jupyter Notebook 45.59% MATLAB 52.49% Python 1.92%
random-matrix-theory random-network-generator random-networks multifractal-analysis spatial-random-matrix

randommatrix's Introduction

RandomMatrix

RandomMatrix: How to use

This is a notebook example of how to use the RandomMatrix code for Multifractality in random networks with power-law decaying bond strengths, which was employed for the analysis in [1]. The code is developed in MATLAB, and some toolboxes are necessary to run the commands.

You run the MATLAB functions in bash/shell prompt as follow:

matlab -nodisplay -nodesktop -nosplash -r "try; yourMATLABFunction(your parameters); catch; end; quit" 

Note: matlab is the environment variable in your system that calls the MATLAB program. Here, because of the Python interface,

Functions

The getEtaUGraph function shows the relative fluctations of the participation numbers ($\eta$) as a function of $\mu$ given the parameters

[PointsVar] = getEtaUGraph(Q,B,U,Ns,a)

# Q: is for a specific q value
# B: the specific band
# U: the set of evaluation points for the participation numbers (x-axis)
# Ns: this is the vector of expoente network size, in the form 2^Ns[i]
# A: this is the sparcity parameter of the Power-Law Banded Random Matrix (PBRM) model.
Example of how to call the getEtaUGraph function
matlab -nodisplay -nodesktop -nosplash -r "try; RandomMatrix.getEtaUGraph([2],[1],[0.6, 0.9, 1.0, 1.1],[6,7,8,9],1.0); catch; end; quit"

It presents the curves of $\eta$ vs $\mu$ for the dPBRM model with sparsity values $\alpha$ = 1 (no sparsity). The critical point is when the lines intercept.

The next function calculates the fractal dimensions of our studied model (dPBRM) and prints the figure, i.e, the signature of the multifractality of eigenfunctions of our network model.

[Data, eData] = getDqAlphaGraphMAT(Q,B,u,Ns,A)

# Q: is a vector of all the points (y-axis Figure XX of the paper)
# B: this is a vector for all the band values to be calculated
# u: it is the critical point u_c
# Ns: this is the vector of expoente network size, in the form 2^Ns[i]
# A: this is the sparcity parameter of the Power-Law Banded Random Matrix (PBRM) model.
Example of how to call the getDqAlphaGraphMAT function
matlab -nodisplay -nodesktop -nosplash -r "try; RandomMatrix.getDqAlphaGraphMAT([0.5,1,1.5,2,3,4,5],[1],1,[6,7,8,9],[0.3,1.0]); catch; end; quit"

It creates a figure that shows the multifractal dimensions $D_q$ vs $q$ for our model. (It will take a while)

References

You can use this code as it is for academic purpose. If you found it useful for your research, we appreciate your reference to our work Multifractality in random networks with power-law decaying bond strengths:

[1] Didier A. Vega-Oliveros, J. A. Méndez-Bermúdez, and Francisco A. Rodrigues. Phys. Rev. E 99, 042303. https://doi.org/10.1103/PhysRevE.99.042303

randommatrix's People

Contributors

didiervega avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.