laplacian_trees

"Tree networks of real-world data: analysis of efficiency and spatiotemporal scales", Cipollini and Schomaker, Phys. Rev. Research 2025.

https://github.com/cipollinidavide/laplacian_trees

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

"Tree networks of real-world data: analysis of efficiency and spatiotemporal scales", Cipollini and Schomaker, Phys. Rev. Research 2025.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed 9 months ago
Metadata Files
Readme Citation

README.md

Tree networks of real-world data: analysis of efficiency and spatiotemporal scales

screenshot

Figure from Cipollini et. al., Phys. Rev. Research 2025.

This repository contains the code used in the paper Cipollini and Schomaker, Tree networks of real-world data: analysis of efficiency and spatiotemporal scales, Phys. Rev. Research, 2025, https://doi.org/10.1103/ztmk-glc4.

To replicate the results, run: bash run_pipeline.sh

The bash file calls the following scripts: - Workspace/gridsearch.py or depending on your choice Workspace/gridsearch_nist.py - create_network_dataset.py - Portegys.py

Before running the bash file: - from the Zenodo download, take the folder data and place it in ./Workspace - from the Zenodo download, take the files data\nist\train.dat and data\nist\test.dat and place them in Workspace\boom-nist-k=5-nc=0,1,2,3,4,5,6,7,8,9-f=2000,2000-s=1 - uncomment the corresponding lines to a desired dataset (MNIST, NIST, FASHIONMNIST) and the seed to select a specific subset of the dataset. - Set the number of independent tree formation processes and the parameter r range at line 22 (or 23). - Select the maximum iterations, e.g. max_iter=100, over which you want to compute the averaged quantities with the call to Portegys.py

To generate the tree structures for the NIST dataset, uncomment line 23 in run_pipeline.sh. The seed is irrelevant for the NIST case.

The script: - dataset_complexity_estimation.py plots figure 2. - Portegys_plot_over_all_r.py produces the same figure and analysis as Portegys.py, but addresses the full range of r for panel (a) in figure 5. - hierarchical_phase_transition.py plots panels (d) and (e) in figure 5. - grid_of_spectral_entropy.sh calls grid_of_spectral_entropy.py: takes as input the path of a directory and plots the .jpg files contained in a tabular structure. - plot_network_over_r.py produces panel (b) in figure 5. - run_overDatasets.sh only runs Portegys.py the analysis and produces the plots. - clean.sh and move.sh are helper scripts to erase and move files in Workspace and Dataset (the folder that will contain the generated trees after you run run_pipeline.sh)

Dataset

https://zenodo.org/records/13883206

Acknowledgments

The script boom.c is provided by Prof. Dr. L. Schomaker. The authors gratefully acknowledge Jos van Goor for providing the scripts contained in the directory ./Workspace that enabled efficient grid-search across parameters. Methods for measuring thermodynamic efficiency - thermo_spectrum and thermo_trajectory - are imported from the script reported in Ghavasieh, A., De Domenico, M. Diversity of information pathways drives sparsity in real-world networks. Nat. Phys. 20, 512–519 (2024).

Owner

  • Login: CipolliniDavide
  • Kind: user
  • Company: Groningen University

Citation (CITATION.cff)

cff-version: 1.0.0
message: "If you use this software, please cite it as below."
title: "Laplacian Trees"
version: "1.0.0"
date-released: 2024-04-27
authors:
  - family-names: Cipollini
    given-names: Davide
repository-code: https://github.com/CipolliniDavide/Laplacian_Trees
license: MIT
keywords:
  - Laplacian matrices
  - tree structures
  - graph theory
  - thermodynamics
  - intrinsic dimension
  - spectral dimension
  - von Neumann Entropy
  - fractals
abstract: |
  This repository contains the developed and used for the paper Cipollini and Schomaker, 2024, 
  Tree networks of real-world data: analysis of efficiency and spatiotemporal scales, https://doi.org/10.48550/arXiv.2404.17829.

GitHub Events

Total
  • Push event: 17
Last Year
  • Push event: 17

Dependencies

Workspace/requirements.txt pypi
  • blosc2 ==2.5.1
  • contourpy ==1.2.0
  • cycler ==0.12.1
  • fonttools ==4.50.0
  • kiwisolver ==1.4.5
  • matplotlib ==3.8.3
  • msgpack ==1.0.8
  • ndindex ==1.8
  • networkx ==3.2.1
  • numexpr ==2.9.0
  • numpy ==1.26.4
  • opencv-python ==4.9.0.80
  • packaging ==24.0
  • pandas ==2.2.1
  • pillow ==10.2.0
  • py-cpuinfo ==9.0.0
  • pyparsing ==3.1.2
  • python-dateutil ==2.9.0.post0
  • pytz ==2024.1
  • scipy ==1.12.0
  • six ==1.16.0
  • tables ==3.9.2
  • tqdm ==4.66.2
  • tzdata ==2024.1
requirements.txt pypi
  • Babel ==2.13.0
  • Jinja2 ==3.1.2
  • Markdown ==3.5.1
  • MarkupSafe ==2.1.3
  • Pillow ==10.0.1
  • PyYAML ==6.0.1
  • Pygments ==2.16.1
  • Send2Trash ==1.8.2
  • Werkzeug ==3.0.1
  • absl-py ==2.0.0
  • anyio ==4.0.0
  • appnope ==0.1.3
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • arrow ==1.3.0
  • asttokens ==2.4.0
  • astunparse ==1.6.3
  • async-lru ==2.0.4
  • attrs ==23.1.0
  • backcall ==0.2.0
  • beautifulsoup4 ==4.12.2
  • bleach ==6.0.0
  • blosc2 ==2.5.1
  • cachetools ==5.3.2
  • certifi ==2023.7.22
  • cffi ==1.16.0
  • charset-normalizer ==3.2.0
  • cmake ==3.27.7
  • comm ==0.1.4
  • contourpy ==1.1.1
  • cycler ==0.12.0
  • debugpy ==1.8.0
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • executing ==2.0.0
  • fastjsonschema ==2.18.1
  • filelock ==3.12.4
  • flatbuffers ==23.5.26
  • fonttools ==4.43.0
  • fqdn ==1.5.1
  • gast ==0.5.4
  • google-auth ==2.23.4
  • google-auth-oauthlib ==1.1.0
  • google-pasta ==0.2.0
  • grpcio ==1.59.3
  • h5py ==3.10.0
  • idna ==3.4
  • igraph ==0.11.5
  • intrinsics-dimension ==0.1.0
  • ipykernel ==6.25.2
  • ipython ==8.16.1
  • isoduration ==20.11.0
  • jedi ==0.19.1
  • joblib ==1.3.2
  • json5 ==0.9.14
  • jsonpointer ==2.4
  • jsonschema ==4.19.1
  • jsonschema-specifications ==2023.7.1
  • jupyter-events ==0.7.0
  • jupyter-lsp ==2.2.0
  • jupyter_client ==8.3.1
  • jupyter_core ==5.3.2
  • jupyter_server ==2.7.3
  • jupyter_server_terminals ==0.4.4
  • jupyterlab ==4.0.6
  • jupyterlab-pygments ==0.2.2
  • jupyterlab_server ==2.25.0
  • keras ==2.15.0
  • kiwisolver ==1.4.5
  • lempel-ziv-complexity ==0.2.2
  • libclang ==16.0.6
  • lit ==17.0.5
  • matplotlib ==3.8.0
  • matplotlib-inline ==0.1.6
  • mistune ==3.0.2
  • ml-dtypes ==0.2.0
  • mpmath ==1.3.0
  • msgpack ==1.0.7
  • nbclient ==0.8.0
  • nbconvert ==7.8.0
  • nbformat ==5.9.2
  • ndindex ==1.8
  • nest-asyncio ==1.5.8
  • networkx ==3.1
  • notebook_shim ==0.2.3
  • numexpr ==2.9.0
  • numpy ==1.26.0
  • nvidia-cublas-cu11 ==11.10.3.66
  • nvidia-cuda-cupti-cu11 ==11.7.101
  • nvidia-cuda-nvrtc-cu11 ==11.7.99
  • nvidia-cuda-runtime-cu11 ==11.7.99
  • nvidia-cudnn-cu11 ==8.5.0.96
  • nvidia-cufft-cu11 ==10.9.0.58
  • nvidia-curand-cu11 ==10.2.10.91
  • nvidia-cusolver-cu11 ==11.4.0.1
  • nvidia-cusparse-cu11 ==11.7.4.91
  • nvidia-nccl-cu11 ==2.14.3
  • nvidia-nvtx-cu11 ==11.7.91
  • oauthlib ==3.2.2
  • opt-einsum ==3.3.0
  • overrides ==7.4.0
  • packaging ==23.2
  • pandas ==2.2.1
  • pandocfilters ==1.5.0
  • parso ==0.8.3
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • platformdirs ==3.11.0
  • prometheus-client ==0.17.1
  • prompt-toolkit ==3.0.39
  • protobuf ==4.23.4
  • psutil ==5.9.5
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.2
  • py-cpuinfo ==9.0.0
  • pyasn1 ==0.5.0
  • pyasn1-modules ==0.3.0
  • pycparser ==2.21
  • pyparsing ==3.1.1
  • python-dateutil ==2.8.2
  • python-json-logger ==2.0.7
  • pytz ==2024.1
  • pyzmq ==25.1.1
  • referencing ==0.30.2
  • requests ==2.31.0
  • requests-oauthlib ==1.3.1
  • rfc3339-validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rpds-py ==0.10.3
  • rsa ==4.9
  • scikit-learn ==1.3.1
  • scipy ==1.11.2
  • seaborn ==0.13.2
  • six ==1.16.0
  • sniffio ==1.3.0
  • soupsieve ==2.5
  • stack-data ==0.6.3
  • sympy ==1.12
  • tables ==3.9.2
  • tensorboard ==2.15.1
  • tensorboard-data-server ==0.7.2
  • tensorboardX ==2.6.2.2
  • tensorflow ==2.15.0
  • tensorflow-estimator ==2.15.0
  • tensorflow-io-gcs-filesystem ==0.34.0
  • termcolor ==2.3.0
  • terminado ==0.17.1
  • texttable ==1.7.0
  • threadpoolctl ==3.2.0
  • tinycss2 ==1.2.1
  • torch ==2.0.1
  • torch-geometric ==2.3.1
  • torchaudio ==2.0.2
  • torchvision ==0.15.2
  • tornado ==6.3.3
  • tqdm ==4.66.1
  • traitlets ==5.11.1
  • triton ==2.0.0
  • types-python-dateutil ==2.8.19.14
  • typing_extensions ==4.8.0
  • tzdata ==2024.1
  • uri-template ==1.3.0
  • urllib3 ==2.0.5
  • wcwidth ==0.2.8
  • webcolors ==1.13
  • webencodings ==0.5.1
  • websocket-client ==1.6.3
  • wrapt ==1.14.1