Giter VIP home page Giter VIP logo

double-edge-swap-mcmc's Introduction

Double Edge Swap MCMC Graph Sampler

What is it?

For a fixed degree sequence and a given graph space, a configuration model is a uniform distribution of graphs with that degree sequence in that space. This code package implements Markov chain Monte Carlo methods to sample from configuration models, as discussed in the associated paper [1]. Given an input graph (and its implicit degree sequence), these methods can sample graphs from the configuration model on the space of (either stub or vertex-labeled): simple graphs, loopy graphs, multigraphs or loopy multigraphs.

[1] Bailey K. Fosdick, Daniel B. Larremore, Joel Nishimura, Johan Ugander (2018) Configuring Random Graph Models with Fixed Degree Sequences. SIAM Review 60(2):315–355. (SIAM version, arXiv version).

How to Cite

If this code is utilized in work contributing to an academic publication please cite the associated paper [1].

Included

  • README.md
  • dbl_edge_doc.pdf
  • dbl_edge_worksheet.ipynb (Jupyter Notebook demonstration)
  • dbl_edge_mcmc.py
  • dist_verification.py
  • sample_assortativity.py
  • geomnet_edgelist
  • /output
  • /verification
  • /html_doc

Documentation

Please see the documentation available in either 'html_doc/index.hmtl' or 'dbl_edge_doc.pdf’. Alternatively, jump immediately into ‘dbl_edge_worksheet.ipynb’.

Dependencies

This package utilizes Python 2.7.x, Numba 0.24.0, Numpy, Scipy, Networkx, and Pylab. The tutorial script runs in Jupyter. Note that this packages are currently included in the Anaconda distribution of python 2.7, available at https://www.continuum.io/downloads. Failure to load Numba will negatively impact performance, but should not affect output.

Installation

Simply import desired python modules into an instance of Python 2.7.x.

History

  • 8/9/2016 v.1 Renamed some functions and variables for added clarity.
  • 8/1/2016 v.1 More documentation added.
  • 7/29/2016 v.1 Additional documentation added.
  • 7/23/2016 v.1 iPython worksheet added.

Authors

  • Bailey K. Fosdick, Department of Statistics, Colorado State University, Ft. Collins, CO 80523 USA (bailey [at] stat.colostate.edu)
  • Daniel B. Larremore, Santa Fe Institute, 1399 Hyde Park Rd. Sante Fe, NM, 87501 USA (larremore [at] santafe.edu)
  • Joel Nishimura, School of Mathematical and Natural Sciences, Arizona State University, Glendale, AZ 85306 USA (joel.nishimura [at] asu.edu)
  • Johan Ugander, Management Science & Engineering, Stanford University, Stanford, CA, 94305 USA (jugander [at] stanford.edu)

Contact

Please direct questions and bug reports to joel.nishimura [at] asu.edu.

double-edge-swap-mcmc's People

Contributors

jugander avatar joelnish 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.