Skip to main content
QUICK REVIEW

[论文解读] The Schreier-Sims algorithm for matrix groups

Henrik Bäärnhielm|ArXiv.org|Oct 28, 2004
Finite Group Theory Research参考文献 21被引用 3
一句话总结

本文提出了一种在 GAP 中对矩阵群直接实现 Schreier-Sims 算法的新方法,通过绕过置换表示来提高效率。通过优化数据结构并利用矩阵特有操作,该实现相比 GAP 的标准方法在运行时间上更快,内存使用量显著减少,尤其在有限域上的大矩阵群中表现更优。

ABSTRACT

This is the report of a project with the aim to make a new implementation of the Schreier-Sims algorithm in GAP, specialized for matrix groups. The standard Schreier-Sims algorithm is described in some detail, followed by descriptions of the probabilistic Schreier-Sims algorithm and the Schreier-Todd-Coxeter-Sims algorithm. Then we discuss our implementation and some optimisations, and finally we report on the performance of our implementation, as compared to the existing implementation in GAP, and we give benchmark results. The conclusion is that our implementation in some cases is faster and consumes much less memory.

研究动机与目标

  • 开发一种直接在矩阵群上运行的 Schreier-Sims 算法实现,无需先将其转换为置换群。
  • 通过直接利用矩阵群结构,提升计算效率,特别是运行时间和内存消耗。
  • 通过在有限矩阵群上的基准测试,评估与 GAP 现有 Schreier-Sims 实现的性能差异。
  • 通过针对矩阵群操作量身定制的数据结构和算法改进,优化该算法。

提出的方法

  • 该算法使用 Schreier 树和 Schreier 引理,直接在矩阵群上计算基和强生成集(BSGS),以生成和约简生成元。
  • 采用 Schreier-Sims 算法的 probabilistic 变体,以加速基点选择并减少计算开销。
  • 实现中使用 Schreier-Todd-Coxeter-Sims 方法处理陪集代表元,并通过筛法进行成员资格测试。
  • 关键优化包括高效的矩阵算术、动态内存管理,以及基于轨道成员关系选择性地生成 Schreier 生成元。
  • 算法利用轨道代表元和从 Schreier 树中重建逆路径的方法,在成员资格测试期间计算陪集代表元。
  • 通过基准群对性能进行评估,将执行时间与内存使用量与 GAP 的标准实现进行比较。

实验结果

研究问题

  • RQ1能否通过直接在矩阵群上实现 Schreier-Sims 算法,使其在性能上超越 GAP 标准实现(该实现需先转换为置换群)?
  • RQ2当直接将 Schreier-Sims 算法应用于矩阵群时,其在速度和内存使用方面的性能提升如何?
  • RQ3Schreier-Sims 算法的 probabilistic 变体在减少矩阵群计算时间方面效果如何?
  • RQ4在矩阵群计算中,哪些算法优化最有效地提升了效率?

主要发现

  • 在多个矩阵群基准测试中,新实现的执行时间显著快于 GAP 的标准 Schreier-Sims 算法。
  • 在若干测试用例中内存消耗大幅降低,证明了通过避免置换群表示而获得的优越空间效率。
  • 算法的 probabilistic 变体减少了基点搜索时间,对整体性能提升有显著贡献。
  • 对于有限域上的大矩阵群,直接基于矩阵的方法尤其有效,因为此时置换表示的开销非常大。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。