Skip to main content

Fast implementation of trees from the mathematics of graphs

Project description

PyTree

A fast implementation of trees from the mathematical theory of graphs

Inspired and applied in condensed matter physics, cellular biology and the World Wide Web.

Mathematical Introduction

Graphs

Mathematical objects of the theory of graphs have one-to-one matrix representations, as described by the theory of linear algebra. In general, a graph is a network structure, whose off-diagonal terms in the matrix representation are known to Condensed Matter Physicists as hopping or interaction terms.

Trees

A particular graph, known as a tree, is a network with a hierarchical structure, which we use to index objects in their matrix representation.

Python implementation

The Tree is a Python subclass of a List, which adds the following attributes and methods:

Attributes

  • parent : Tree or none (default) children : Tree or none (default)
  • ancestors : list of Trees lineage upwards
  • root: root of the tree (parent without parent)
  • descendants : lists lineage downwards (list of list of Trees)
  • buds : lists descendants without descendants

Methods

  • set_ids : add an index (id) to the buds of this Tree
  • get_ids : get the indices (ids) of the buds of this Tree .attribute : attributes are inherited down the linage

Summary

A graph structure defines a matrix; a tree structure indexes the matrix.

The tree structure adds parents, children, ancestors, descendants and inheritance of attributes.

Installation

Development environment

pip install --editable . --break-system-packages

Build and upload

python3 -m build
twine upload dist/*

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

Tree.Network-0.0.1.tar.gz (2.6 kB view details)

Uploaded Source

Built Distribution

Tree.Network-0.0.1-py3-none-any.whl (2.7 kB view details)

Uploaded Python 3

File details

Details for the file Tree.Network-0.0.1.tar.gz.

File metadata

  • Download URL: Tree.Network-0.0.1.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for Tree.Network-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3ce7a8437aea5b74192651b94027fcc4810777692b4479f82662014985615ed4
MD5 894d3ed6eb8a29f1ec403ad937ce4138
BLAKE2b-256 94090d86b136883e71660330b6b3f0352cf2a84b377dc409e53fed0009d6213d

See more details on using hashes here.

File details

Details for the file Tree.Network-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for Tree.Network-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 34bca320a74dc3b7a05f761340bab24164822d206b047df9e1a91333ce80f1de
MD5 eb1bacd614fca59c6872084d558aa6ce
BLAKE2b-256 a0a4e3f104368294e8a957ac8889f3d2544130fe980e82d92a175f31ba21f4bc

See more details on using hashes here.

Supported by

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