上游优先或覆盖空间的路径提升性质

将数学概念应用于 FOSS 部署,可为理解开源软件的相互关联性提供新的和有趣的方式。
3 位读者喜欢这篇文章。
Math formulas in green writing

João Trindade。Jason Baker 修改。CC BY-SA 2.0。

不要害怕;当您读完这篇文章时,您就会理解它的标题。

理解空间

几何与拓扑是数学的一个领域,涉及空间,通常是拓扑空间,以及您可以在其上定义的各种附加结构。

如何将一组元素变成一个列表? “您可以使用 list() 函数!”我的 Pythonic 朋友们会这样说。但本质上,您添加了一个顺序的概念。您获取集合并解释该集合中的哪个点是下一个。 类似地,空间是具有这些附加概念的元素集合

  • 对于拓扑空间,添加邻域的概念。 您解释如何判断两个点是接近的。
  • 对于度量空间,添加距离的概念。 您解释如何测量集合中任意两点之间的距离。

数学中有很多类型的空间,从众所周知的欧几里德空间到不太为人所知但同样常见的微分流形,一直到刚刚发明的奇异结构。 该领域的研究围绕着寻找不同结构之间的关系,并确定它们是否定义了相同的基本对象。

例如,很容易证明度量空间总是拓扑空间。 但要证明存在无法用距离表示的拓扑空间就比较困难了。

然而,对于那些随意的周末拓扑学家来说,我推荐二维曲面,例如,古老的球体、圆环或莫比乌斯带。 不像欧几里德平面那样四四方方和平坦,但仍然易于管理。 并且二维紧流形的分类理论非常有趣。

覆盖空间

拿一个弹簧圈,从顶部看。 你会看到一个圆圈。

 

spring

(Aleksandra Fedorova, CC BY-SA 4.0)

用数学语言表达这个事实,你会说线圈本身就是全空间。 在这种情况下,它本身只是一条一维线。 它由各种组件组成

  • 您看到的圆圈是一个底空间
  • 视线定义了覆盖映射
  • 如果您有激光瞄准器,激光切割线圈的点将被称为纤维

总而言之,全空间、底空间和覆盖映射定义了覆盖空间或圆圈被具有离散纤维的线覆盖。

作业:一个圆圈可以覆盖一条线吗?

覆盖空间的关键质量在于它与任何投影的不同之处在于,全空间中每个纤维点邻域的工作方式与其在底空间中的投影邻域的工作方式非常相似。 这允许您使用底空间的现有知识来推理全空间的特定属性,反之亦然。

数学家们就是喜欢以这种方式在空间之间移动。 一旦你在当前研究的空间中遇到某个障碍,你就会巧妙地将空间映射到熟悉的基础之上。 你在那里证明了一些东西,然后将结果转移回原始空间,在那里它可以带来新的和令人兴奋的突破。

路径提升性质

这一切与上游优先有什么关系?,您可能会问。(我们还处于为该理论开发适当数学工具的早期阶段。欢迎在下面的评论区添加您的建议和更正。)

看看代码是如何交付到企业级 Linux 发行版的,例如 CentOS Stream。 有一个开源项目和社区,他们开发特定版本的软件,例如 Firefox。 我们称这样的项目为上游。 一旦上游项目发布了 Firefox 版本,它就会被打包到 Fedora。 然后有一天,新的 CentOS Stream 版本是使用 Fedora 包的内容引导的,该包包含来自上游项目的特定版本的 Firefox。

当上游项目发布 Firefox 的关键更新时,该更新会被打包并在 Fedora 中发布。 但它也会通过 CentOS Stream 进行打包和发布。

FOSS 空间

考虑所有补丁到所有上游项目、Fedora 和 CentOS Stream 的集合。 显然*,这是一个拓扑空间,其中 Git 历史记录定义了补丁的邻域。

(*) 有时数学家使用“显然”一词来掩盖他们实际上无法详细解释这个概念的事实。

这个空间不容易掌握,虽然你可以用一条路径连接一些点,但它的全局属性还有待探索。

覆盖映射

获取 FOSS 空间中的任何提交,并将其映射到 CentOS Stream 中的提交,该提交实现了相同的功能或修复了相同的问题。 对于 CentOS Stream 中的常规提交,该映射很简单。 对于任何上游更改或 Fedora 中的更改,该映射都指向其下游版本。 因此,FOSS 空间可以表示为一个覆盖空间,其中 CentOS Stream 作为其基础。

提升路径

路径提升性质告诉你,对于基础中的每条路径(CentOS Stream 中的更改),应该在层中存在一条提升路径(Fedora 和上游项目中的更改,映射到它)。 换句话说,它代表相同的错误修复。

并且上游优先原则告诉你构建该路径。

总结

将数学概念应用于 FOSS 部署,可为理解开源软件的相互关联性提供新的和有趣的方式。 我希望这能成为对空间和上游优先原则的深刻而有趣的探索。

标签
Avatar
Aleksandra 是 Fedora 社区的长期成员、Fedora 大使和 Fedora 理事会的民选成员。 她在 Red Hat 从事 RHEL、CentOS Stream 和 Fedora 的持续集成工作。 她还拥有几何和拓扑学博士学位。

2 条评论

谢谢你,Aleksandra! 作为一名数学家(尽管我担心有点过时了),我总是很高兴看到这种用相关的具体例子阐明数学概念的方式。 很棒的文章!

谢谢

有一些强大的数学概念,我希望看到它们在日常生活中更加普及。 例如,同构(和同胚)或流形的想法。 我希望人们更频繁地看到数学不仅限于微积分和统计学,而且它还有助于我们构建思考复杂结构的方式。

也许我明年会写一些关于它的文章 :)

回复 作者:clhermansen

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.