一个用于操作Veering三角剖分及其相关平坦结构的Python模块
项目描述
Veerer是一个用于SageMath的包,用于处理表面的Veering三角剖分及其相关平坦结构。它可以特别用于提供表面拟Anosov映射类的代表。其理论基础基于I. Agol和F. Guéritaud的思想,并在
M. Bell, V. Delecroix, V. Gadre, R. Gutiérrez-Romo, S. Schleimer, “使用Veering三角剖分编码Teichmüller流”,arXiv:1909.00890。
示例
与Flipper类似,三角剖分的边用整数0, 1, …, n-1标记。每条边都有一个方向,与i相对的边标记为~i(因此-1、-2等分别是0、1等的相对边)。要输入三角剖分,您必须提供三角形列表,每个三角形是三个有方向的边的三元组,以及颜色列表
>>> from veerer import * >>> T = VeeringTriangulation([(0, 1, 2), (-1, -2, -3)], [RED, RED, BLUE]) >>> T.is_core() True
由于上述示例是核心三角剖分,它可以接受一个平坦实现。可以通过计算平展结构参数化多边形的顶点重心中点来计算它
>>> F = T.flat_structure_middle()
如果您在SageMath中使用Veerer,可以使用以下命令显示平坦结构
>>> F.plot(vertical_train_track=True) >>> F.plot(horizontal_train_track=True)
测试
要运行SageMath doctests,请使用pip安装该软件包,通常
$ sage -pip install -e .
然后运行
$ sage -t --force-lib veerer/
或者
$ sage -t --force-lib veerer/my_file.py
构建文档
转到< span class="docutils literal">docs 目录然后执行
$ sage -sh $ make html
文档应作为HTML页面在< span class="docutils literal">docs/build/ 下可用。
通常,您可能希望使用< span class="docutils literal">veerer_demo.rst 作为Jupyter笔记本。要将< span class="docutils literal">veerer_demo.rst 转换为< span class="docutils literal">veerer_demo.ipynb,您需要在您的计算机上提供以下软件
rst2latex python-docutils
pdflatex
pandoc
Python包rst2ipynb
Python包nbconvert
然后执行
$ export FILE_PREFIX="veerer_demo" $ rst2ipynb --kernel=sagemath veerer_demo.rst veerer_demo.ipynb
如果您使用pip的< span class="docutils literal">--user 选项安装了rst2ipynb,可执行文件可能已安装在< span class="docutils literal">$HOME/.local/bin,在这种情况下,您应该首先通过以下方式使系统了解这一点
$ PATH=$PATH:$HOME/.local/bin
项目详情
< span>发布历史< span class="reset-text margin-top"> 发布通知< /a> | < a href="/rss/project/veerer/releases.xml">RSS源 < i class="fa fa-rss" aria-hidden="true">
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源代码分发
< a href="https://pip.pythonlang.cn/en/stable/topics/secure-installs/#hash-checking-mode" title="外部链接" target="_blank" rel="noopener">哈希值 为 veerer-0.2.0.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e64b6559a8409d0c9616f1ca5e9e290e9223fdfcec13653b13502988d2461be9 |
|
MD5 | 9b790a9ee4cef619dd1b7916479aa590 |
|
BLAKE2b-256 | 4beb1d5dc35f2469a2cb092754a4d5825d2b303251d3ec4f43d58bda51512c24 |