Metadata-Version: 2.1
Name: cycle-analysis
Version: 0.0.3
Summary: cycle_analysis module, performing minimal cycle basis calculation and cycle coalescecne.
Home-page: https://github.com/felixk1990/cycle-coalescence-algorithm
Author: felixk1990
Author-email: felixuwekramer@protonmail.com
License: UNKNOWN
Description: # cycle-coalescence-algorithm
        ##  Introduction
        
        Have you ever wondered how cycles in graphs form a vector space and encapsulate nesting information? If so, were you never really sure how to deal with this? Here is a tool ready to use, enabling you to calculate the cycle bases, mapping them onto a merging tree, and analyze this tree's asymmetry.
        
        ![modes](./gallery/modes_merging_algorithm_2016.png)
        
        This project is based on the algorithm published in 'Extracting Hidden Hierarchies in 3D Distribution Networks' by Modes et al, 2016. Please acknowledge if used for any further publication or projects.
        
          ./notebook contains examples to play with in the form of jupyter notebooks
        ##  Installation
        pip install cycle_analysis
        ##  Usage
        
        ```python
        import networkx as nx
        import cycle_analysis.cycle_coalescence as cc
        import cycle_analysis.test as cat
        
        # generate a dummy graph for testing
        # put an edge weight distribution on the system, available are random/gradient/nested_square
        G=nx.grid_graph((7,7,1))
        G=cat.generate_pattern(G,'nested_square')
        
        # merge all shortest cycles and calc the merging tree's asymmetry for each branch
        asymmetry=cc.calc_cycle_asymmetry(G)
        print(asymmetry)
        ```
        
        ##  Requirements
        ``` networkx ```, ``` numpy ```
        ##  Gallery
        random weight distribution\
        ![random](./gallery/random.png)
        
        nested square weight distribution\
        ![nested](./gallery/nested_square.png)
        
        gradient weight distribution\
        ![gradient](./gallery/gradient.png)
        ## Acknowledgement
        ```cycle_analysis``` written by Felix Kramer
        
        This implementation is based on the cycle coalescence algorithm as described by Modes et al, 2016.
        https://journals.aps.org/prx/pdf/10.1103/PhysRevX.6.031009
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
