一个简单的用于图论的python包,它支持多边、超边、循环边以及这些边的其他组合。
multihypergraph的Python项目详细描述
多重超图
##说明 一个简单的用于图论的python包,它支持多边、超边、循环边以及这些边的其他组合。这个包是定义具有以下特性的静态类型的图的功能实现的练习:
- 图的每个顶点都是一个字符。例如,
'ab,bc,ac'"
是一个顶点为{'a', 'b', 'c'}
的三角形图。 - 允许有多条边。
'ab,ab'
是一个有效的图。 - 允许超边缘。
'abc'
是一个有效的图。 - 允许自循环。
'aa'
是一个有效的图。 - 允许折叠边。
'aab'
是有效的图
查看维基百科中有关Hypergraph和Multigraph的条目。把这个包裹看作是两人幸福的婚姻。
安装
pip install multihypergraph
功能
- 几乎所有的代码都是功能性的。
- 从不使用数据类型的可变性。
- 所有类型都是使用静态类型显式地提到的(并且是通过
mypy
检查的)。 - 上述特性使得对代码进行数学推理变得更加容易。
- 重点是数学理解和稳健性,而不是算法效率。
- 顶层脚本分为
objects/
和morphisms/
来强调多重超图的范畴理论结构。 - 函数式编程允许我们使用
pytest
编写易于破译的测试。