内政部 PyPI版本 下载 许可证:麻省理工学院

测量员 编码冠状病毒

Ripser.py是一个面向Python的精简持久同源包。基于速度极快的C++Ripser包作为核心计算引擎,Ripser.py为

  • 计算稀疏和稠密数据集的持久性上同调,

  • 可视化持久性图,

  • 计算图像的低阶滤波,以及

  • 计算代表公司。

我们提供了一大套交互式笔记本电脑,演示如何利用所有可用功能。

py是对原始C++Ripser项目的改进。我们投入了大量工作,使该包可用于所有主要平台上的Python开发人员。如果您在安装时遇到问题,请通过打开github问题让我们知道。

您可以在github上找到源代码,网址为Scikit-TDA/Ripser.py公司。有关原始C++库,请参见裂土器/裂土器.

安装程序

Pypi上提供了Ripser.py。要安装,您首先需要Cython。

pip(点阵) 安装 赛马拉松
pip(点阵) 安装 裂土器

示例用法

界面非常简单:

进口 笨蛋 作为 净现值
 撕裂器 进口 撕裂器
 波斯 进口 绘图

数据 = 净现值.随机的.随机的((100,2))
图表 = 撕裂器(数据)[“dgms”]
绘图(图表, 显示=真的)

如果您愿意使用,我们还提供Scikit-learn转换器样式的对象:

进口 笨蛋 作为 净现值
 撕裂器 进口 撕裂

撕裂 = 撕裂()
数据 = 净现值.随机的.随机的((100,2))
图表 = 撕裂.fit_transform(适合转换)(数据)
撕裂.情节(图表)
https://i.imgur.com/WmQPYnn.png

源代码编译

为了编译,您首先需要执行以下操作:

吉特 克隆 https://github.com/scikit-tda/ripser.py网站光盘 成熟.pypip(点阵) 安装 -e(电子) .

然后,您将能够像前面的示例一样使用Ripser.py,但它是直接从源代码编译的。为了在从源代码编译时获得最佳性能体验,您需要一个额外的库robin_hood_hashmap。要在启用此库的情况下使用编译,请执行以下操作:

吉特 克隆 https://github.com/martinus/robin-hood-hashing网站 撕裂者/罗宾汉

下表显示了使用和不使用robin_hood_hashmap的性能比较:

数据集

大小

门槛

昏暗的

系数

正常[秒]

罗宾汉[斯]

球体3

192

2

2

1.5

1.2

2000

1

2

2.9

2.5

臭氧

1024

1.8

2

2.9

2.2

随机16

50

7

2

8.4

6

分形

512

2

2

17.7

14

臭氧

4096

1.4

2

68.6

53.4

贡献

我们欢迎各种形状和大小的贡献。有很多潜在项目的机会,所以如果你想帮忙,请联系。从你最喜欢的距离的实现、笔记本、示例和文档,所有的东西都同样有价值,所以请不要觉得你不能做出贡献。

要做出贡献,请分叉项目进行更改并提交请求。我们将尽力解决与您之间的任何问题,并将您的代码合并到主分支中。

引用

如果您使用此软件包,请在此处找到JoSS论文:内政部

您可以使用以下bibtex条目

@文章{ctralie2018ripser公司,
    国防部 = {10.21105/乔斯.00925},
    网址 = {https(https)://国防部.组织/10.21105/乔斯.00925},
      = {2018},
     = {九月},
    出版商 = {这个 正常开放 日记账},
    体积 = {},
     = {29},
     = {925},
    作者 = {克里斯托弗 特拉利  纳撒尼尔 索尔  Rann公司 酒吧-打开},
    标题 = {{裂土器.第页}: A类 精益 持久 同源性 图书馆 对于 蟒蛇},
    杂志 = {这个 日记账 属于 正常开放 来源 软件}
}

许可证

Ripser.py在麻省理工学院许可证下可用!核心C++代码源于Ripser,它也可以通过麻省理工学院的许可证获得,并且版权归Ulrich Baeur所有。这些修改、Python代码和文档的版权归Christopher Tralie和Nathaniel Saul所有。