代数计算软件Magma V2.27中的功能更新亮点
Magma代数计算软件是一款数学计算工具,可以进行各种代数计算、符号计算和数值计算。新版本的Magma代数计算软件为用户带来了更多的功能和优化体验。
本文介绍Magma V2.27中的功能更新中的亮点。
代数几何
计划
函数JacobianMatrix(源于函数IsSingular)对于某些类型的方案已经大大加快了速度。
算术几何
有限域上的曲线
对Tuitman算法计算zeta函数的部分进行了许多优化,在许多情况下大大提高了性能。
算术字段
代数数域
Maximal orders:在计算数字字段的maximal阶数时,由于分解大整数的费用,计算阶数不是maximal值的所有素数可能是一项昂贵的计算。通过尝试在模环上计算多项式GCD,可以减少这种因式分解费用,其方式类似于戴德金测试结合互质分解,从而减少要分解的整数的大小(Sircana,2020)。此方法还可用于计算定义为另一个阶的扩展的阶数的maximal阶数。虽然从V2.26开始在Magma中提供了判别式的这种预分解,但从那时起对实现进行了改进,包括从这种方法中排除由非一元或非积分多项式定义的相对阶。
在计算maximal阶数时减低整数分解成本的另一种方法是使用maximal阶数内函数的分化和判别参数来实现。但是,将这些参数与由非一元或非积分多项式定义的阶一起使用时,需要更加小心。
分支:现在可以测试一个数字字段是否是另一个数字字段的子字段,而无需计算maximal大顺序。这意味着现在也可以在不计算maximal阶数的情况下测试两个数字字段是否同构。有许多算法可用于计算子字段,并且用于2度以上字段的算法已更改,因为计算所涉及的多项式的所有根比提高一个根更快。计算字段是否为子字段还会在超字段的嵌入中安装到超字段(如果字段确实是子字段)。嵌入也可以使用嵌入内部函数添加。现在检查使用此内部函数以及由IsSubfield和IsIsomorphic添加的嵌入是否与以前安装的任意嵌入一致,除非在使用嵌入时将新的Overwrite参数设置为true。
估价环
可以在代数数域和函数域上构造估值环,从而允许在这些域的理想下计算定位。
基本环
整数环
用于整数分解的ECM和MPQS算法的并行版本现已可用。这些是通过首先调用SetNthreads(k); (选择k个线程)和可选的StartWorkers过程(选择工作器节点)来选择的,然后再调用一般整数分解。(MPQS算法也不再使用文件在工作线程之间进行通信。
交换代数
格勒步纳基地
Faugere F4算法的并行版本(由SetNthreads选择)在线性代数阶段得到了很大的改进,而符号约简和关键对管理阶段初次并行化。这包括在 GF(q) 上为 2<q<230定义的理想情况,其中q不是2的幂或大于Q。4核英特尔酷睿i7-7700CPU(3.60GHz)的新记录时序包括以下内容(用于计算每种情况下的grevlex Gröbner基础):
GF(9)上的Cyclic-32003根理想:10.2秒(4核)或29.3秒(1核);
GF(10)上的Cyclic-32003根理想:601.2秒(4核)或1957.1秒(1核)。
Q上的Cyclic-9根理想:144.3 秒(4核)或286.1 秒(1核),使用750MB进行任一计算;
Cyclic-10根理想超过Q:5.2 小时(4核)或16.1小时(1核),使用46GB进行任一计算。
Faugere F4算法的主要策略已经扩展,因此默认情况下,现在为每个新步骤动态选择关键对数量的限制(因此对限制在整个算法中有所不同)。这导致计算许多类型输入的Gröbner基的大幅加速,这些输入理想以前默认的无对限制策略不是优质的。
Faugere F4已得到改进,以便尽可能推迟更高程度的关键对的设置。因此,如果结果的Gröbner基是平凡的或只有很小次多项式,则关键对管理通常会大大加快。用于关键对管理的低级子算法(用于Faugere F4和Buchberger算法)也总体上得到了显着的加速。
Faugere F4算法线性代数阶段的第二次降约(有时可能很昂贵)已大大加快。
Faugere F4算法的线性代数阶段具有新的表示形式,用于计算p<256的GF(p)。当Gröbner基数较大时,这将产生显著的内存节省,同时具有适度的加速。
提供了用于创建密集MinRank秩或HFE多元多项式系统的新功能。
理想理论
多元多项式环理想的函数MinimalBasis在搜索分级时得到了改进,以使输入均匀(如果尚未输入)。新功能HomogeneousWeightsSearch还可以搜索权重。
改进了正维理想的初级分解总体策略。
群论
古典组
近年来,已经实现了确定大多数经典矩阵群中元素共轭类的快速方法。在这个版本的Magma中,快速共轭类构造的覆盖范围已扩展到包括以下类型的群:
共形经典团
这些类型的经典组的投影版本:- GL,SL Sp GU,SU GO + ,SO +,Omega + GO – , SO – ,Omega-GO,SO,Omega.
有限可溶基团
当群序具有较大的素数除数时,构造有限可溶群的新例程要快得多。
已经实现了有限零能群的自同构群的新算法。
组数据库
小群数据库已扩展为包括most 4个素数阶乘积的所有群。这实现了迪特里希、艾克和潘的目录。
晶格和二次形式
格
完成了格中紧密向量枚举的有效并行版本。(2.26-4 版)
基于FP的LLL算法已经并行化(由SetNthreads选择),因此对于具有中等维数和大整数条目的格(在数论和模块化重建算法中的多次计算中发生),可以实现非平凡的加速。
线性代数和模论
Z上的线性代数
改进了计算Z上矩阵零空间时的饱和度算法。
改进了积分格饱和的一般算法。
表征理论
公斤模块
对于pc-group G,特征为零的不可约G模块的计算变得更加稳定。
在特征零中计算不可约G模块的主要算法得到了改进,特别是在G的组合长度不平凡的情况下。
系统
排比
有一个新过程StartWorkers可以远程启动Magma工作线程作业,而无需手动启动远程计算机上的Magma作业。这对于内部分布式算法(例如代码/格枚举、整数分解)很有用。因此,不再需要 -w指令行选项,除非需要更多的手动控制。