跳转到主要内容

一个用于操作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等分别是01等的相对边)。要输入三角剖分,您必须提供三角形列表,每个三角形是三个有方向的边的三元组,以及颜色列表

>>> 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

作者

  • 马克·贝尔

  • 文森特·德莱克罗伊

  • 索尔·施莱梅尔

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码分发

< a href="https://files.pythonhosted.org/packages/4b/eb/1d5dc35f2469a2cb092754a4d5825d2b303251d3ec4f43d58bda51512c24/veerer-0.2.0.tar.gz"> veerer-0.2.0.tar.gz (284.9 kB < a href="#copy-hash-modal-090d0973-a256-47de-a22c-70bc01e5e107">查看哈希值 )

上传时间 < time datetime="2023-12-12T01:03:48+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false"> 2023年12月12日 < code>源代码

由以下机构支持