Skip to main content

Advanced NetworkX graph generation models implementing algorithms from mathematical papers.

Project description

NetworkX Arxiv Generators CI

Advanced graph generation models for NetworkX, implementing algorithms from mathematical literature (with arxiv citations), and published in reputable peer-reviewed journals, or presented at established conferences, symposiums and seminars.

Current state

Currently the project is in a scaffolding state, with the first goal of generating uniform power law graphs as in Uniform generation of random graphs with power-law degree sequences. These results were presented at SODA '18: Proceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms .

To begin, this requires results from the seminal paper B.D. McKay and N.C. Wormald, Uniform generation of random regular graphs of moderate degree, J. Algorithms 11 (1990), 52–67.

Currently in progress, located in src/nx_arxivgen/generators/mckay_wormald.py .

Install

Once published:

pip install networkx-arxiv-generators

Quickstart

import networkx as nx
import matplotlib.pyplot as plt
from nx_arxivgen.generators.mckay_wormald import mckay_wormald_simple_graph, mckay_random_graph_encoding

test_deg_seq = [1, 1, 2, 3, 3, 2, 6, 6,7,8,6,1,2,3,4,5,6,7,8,9,10]

test = mckay_wormald_simple_graph(test_deg_seq, debug=True)
nx.draw_spring(test, with_labels=True)
plt.show()

sample_graph = nx.generators.binomial_graph(20, 0.5)

print(mckay_random_graph_encoding(sample_graph))

An example of a graph generated this way, with the degree sequence

[10, 1, 0, 4, 3, 3, 2, 1, 10, 8, 1, 9, 6, 0, 0, 1, 3, 3, 8, 9, 0, 8, 3, 10, 8, 6, 3, 7, 9, 4]

The nodes of degree 0 are 2, 13, 14 and 20. image

Goals

  • Faithful implementations of arxiv models with clear citations, existing in reputable publications.
  • Deterministic seeding and reproducibility, wherever relevant by the context of the research paper.
  • Tests, docs, and examples for each model.

Citing

If you use this package, please cite it. See CITATION.cff. Each model’s docstring cites its originating paper(s).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

networkx_arxiv_generators-0.1.1.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

networkx_arxiv_generators-0.1.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file networkx_arxiv_generators-0.1.1.tar.gz.

File metadata

File hashes

Hashes for networkx_arxiv_generators-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0779dd4a7c351eb603b62367c6af4721acaf819f97a801e8c4384574cb49fece
MD5 ad03296494d89fea9cef1a81afeb95ba
BLAKE2b-256 c01f574f90c17a78cdf6cb19b2ecfeaacd65bd2ed6981dffb33238e91950c808

See more details on using hashes here.

Provenance

The following attestation bundles were made for networkx_arxiv_generators-0.1.1.tar.gz:

Publisher: publish.yml on YanYablonovskiy/networkx-arxiv-generators

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file networkx_arxiv_generators-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for networkx_arxiv_generators-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 03d027f8e5107a5766afd2459395459faa08d426f5fd4b5237db658541b68a27
MD5 1d8036f656c7a98bf0f38d69adb21189
BLAKE2b-256 e9fc1c3a7aef6f35899d383768cc7ed9edea2026a98b3ae1b54d6849b1e625a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for networkx_arxiv_generators-0.1.1-py3-none-any.whl:

Publisher: publish.yml on YanYablonovskiy/networkx-arxiv-generators

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page