2018年4月24日星期二

SageMath GSoC 2018项目

我们很高兴宣布我们的名单谷歌代码夏令营2018年项目!感谢所有参与的人,所有学生、导师,当然还有谷歌! 


赛·哈什·汤多克(David Coudert和Dima Pasechnik):

向图形模块添加SPQR树

在这个项目中,我们的目标是通过实现查找三连通子图的功能来扩展Sage中的图论库,这将把无向图划分为三连通组件,并构建相应的SPQR树。这些模块可以在以后用作一些图问题的预处理,例如哈密顿圈、旅行商问题。



Meghana M Reddy(David Coudert和Dima Pasechnik):

将SPQR树添加到Sage Math的图形模块中

该项目的目的是编码线性时间算法,用于将图划分为3个连通分量,并构建相应的SPQR树。此外,该算法还可以作为其他一些图形问题的子程序,如无弦图的识别、哈密顿圈等。



Filip Ion(约翰·罗森基勒):

数据库和代码边界

以下提案详细介绍了SageMath的编码理论组件的一些可能改进。我们的目标是为低于最大范围的每个参数选择建立预计算边界和线性代码优化示例的数据库。



Raghukul Raman(Travis Scrimshaw和Benjamin Hutz):

品种的理性点

本项目旨在实现在品种上寻找有理点的基本算法。经典代数簇定义为一个数域上多项式方程的解集。代数簇的有理点是给定域(如果未提及有理域)中方程组的解。许多数论可以被视为对代数簇的有理点的研究。数论的一些伟大成就相当于确定特定曲线上的有理点。例如,Fermat的最后一个定理等价于这样的陈述:对于一个整数n≥3,Qare上P2中曲线xn+yn=zn的唯一有理点是明显的。这些问题的常见变体包括确定高达一定界限的所有V(K)点的集合。本项目的目的是实现一些基本的有理寻点算法(筛选模素数和枚举),并将其扩展到product_projective_space方案。



达里奥·阿斯普雷内(迪玛·帕西尼克)

使用Weisfeiler-Lehman算法检查图的同构

目前,SageMath通过一个内部包通过一个相应的方法检查图形同构,该方法称为isomorphic,并包含在sage.groups.perm_gps.partn_ref.refinement_graphs中。这种方法除了非常复杂,没有太多关于其内部工作的文件外,上一次重大更新是在2011年。
该项目旨在创建一个新的包,该包使用Weisfeiler-Lehman(WL)算法层次结构的一个成员,实现一种有效的实际启发式方法,以检查两个图是否同构。过去曾尝试执行相同的任务(但范围较窄,仅限于实现WL算法的二阶版本),但发现代码中包含错误,并且从未从代码库中实现/删除(请参阅Trac#10482)。
据我所知,这将是k-WL的第一个开源实现,因为k>1。