# 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
```sh
pip install --editable . --break-system-packages
```
## Build and upload
```sh
python3 -m build
twine upload dist/*
```
Raw data
{
"_id": null,
"home_page": null,
"name": "Tree.Network",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "graph, tree, structure, web, data, hyperlinks, lineage, ancestry, cell, differentiation, embryology, matrix",
"author": null,
"author_email": "Henry Sheehy <enquiries@henrysheehy.com>",
"download_url": "https://files.pythonhosted.org/packages/94/09/0d86b136883e71660330b6b3f0352cf2a84b377dc409e53fed0009d6213d/Tree.Network-0.0.1.tar.gz",
"platform": null,
"description": "# PyTree\nA fast implementation of trees from the mathematical theory of graphs\n\nInspired and applied in condensed matter physics, \ncellular biology and the World Wide Web.\n\n## Mathematical Introduction\n### Graphs\nMathematical objects of the theory of *graphs* have one-to-one matrix \nrepresentations, as described by the theory of linear algebra.\nIn general, a graph is a network structure, whose off-diagonal terms \nin the matrix representation are known to Condensed Matter Physicists \nas hopping or interaction terms.\n\n### Trees\nA particular graph, known as a tree, is a network with a \nhierarchical structure, which we use to index \nobjects in their matrix representation.\n\n## Python implementation\nThe Tree is a Python subclass of a List, which adds the following *attributes* and *methods*: \n\n### Attributes\n- parent : Tree or none (default)\nchildren : Tree or none (default)\n- ancestors : list of Trees lineage upwards \n- root: root of the tree (parent without parent)\n- descendants : lists lineage downwards (list of list of Trees) \n- buds : lists descendants without descendants\n\n### Methods\n- set_ids : add an index (id) to the buds of this Tree\n- get_ids : get the indices (ids) of the buds of this Tree\n.attribute : attributes are inherited down the linage\n\n## Summary\nA *graph structure defines a matrix*; a *tree structure\nindexes the matrix*. \n\nThe tree structure adds parents, \nchildren, ancestors, descendants and inheritance of attributes.\n\n## Installation\n### Development environment\n```sh\npip install --editable . --break-system-packages\n```\n\n## Build and upload\n```sh\npython3 -m build\ntwine upload dist/*\n```\n",
"bugtrack_url": null,
"license": "# PythU Scanning tunnelling microscopy (STM), quasiparticle interference (QPI) and angle-resolved photoemission spectrocopy (ARPES) simulation of (topological) non-unitary spin-triplet unconventional superconductivity and magnetism, in quantum dots, thin films and 3D, with impurities. COPYRIGHT (C) 2018--2023, Henry Joseph Sheehy. All rights reserved. ",
"summary": "Fast implementation of trees from the mathematics of graphs",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://git.quantalumin.com/henry/Tree.Net",
"Issues": "https://git.quantalumin.com/henry/Tree.Net/issues"
},
"split_keywords": [
"graph",
" tree",
" structure",
" web",
" data",
" hyperlinks",
" lineage",
" ancestry",
" cell",
" differentiation",
" embryology",
" matrix"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a0a4e3f104368294e8a957ac8889f3d2544130fe980e82d92a175f31ba21f4bc",
"md5": "eb1bacd614fca59c6872084d558aa6ce",
"sha256": "34bca320a74dc3b7a05f761340bab24164822d206b047df9e1a91333ce80f1de"
},
"downloads": -1,
"filename": "Tree.Network-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eb1bacd614fca59c6872084d558aa6ce",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 2701,
"upload_time": "2024-04-06T18:50:27",
"upload_time_iso_8601": "2024-04-06T18:50:27.211130Z",
"url": "https://files.pythonhosted.org/packages/a0/a4/e3f104368294e8a957ac8889f3d2544130fe980e82d92a175f31ba21f4bc/Tree.Network-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94090d86b136883e71660330b6b3f0352cf2a84b377dc409e53fed0009d6213d",
"md5": "894d3ed6eb8a29f1ec403ad937ce4138",
"sha256": "3ce7a8437aea5b74192651b94027fcc4810777692b4479f82662014985615ed4"
},
"downloads": -1,
"filename": "Tree.Network-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "894d3ed6eb8a29f1ec403ad937ce4138",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 2565,
"upload_time": "2024-04-06T18:50:28",
"upload_time_iso_8601": "2024-04-06T18:50:28.974158Z",
"url": "https://files.pythonhosted.org/packages/94/09/0d86b136883e71660330b6b3f0352cf2a84b377dc409e53fed0009d6213d/Tree.Network-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-06 18:50:28",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "tree.network"
}