#acm #monoid #gui-applications #user-interface #arithmetic #elements #density

bin+lib arithmetic_congruence_monoid

在基于 YAML 的项目中实现算术同余半群 (ACM)

8 个稳定版本

1.2.1 2024 年 3 月 9 日
1.1.0 2024 年 3 月 9 日
1.0.4 2024 年 3 月 9 日
1.0.3 2024 年 3 月 3 日
1.0.0 2024 年 3 月 1 日

#1107 in 数学

26 每月下载次数
acm_dependent 中使用

MIT/Apache

32KB
126

算术同余半群 (ACM)

描述

此 Rust 项目实现了算术同余半群 (ACM),该半群以 YAML 为基础进行配置。ACM 被定义为 (M_{a,b} = {a + bm : m \in \mathbb{Z}_{\geq 0}} \cup {1} = {1, a, a+b, a+2b,\ldots})。本项目提供了将整数分解为 ACM 元素、研究 ACM 的原子密度以及理解这些半群中原子分布的工具。此外,还引入了图形用户界面 (GUI),以便于交互式探索 ACM 的属性。

功能

  • 分解为 ACM 元素: 识别 ACM 中的元素,这些元素不能表示为更小 ACM 元素(称为原子)的乘积。
  • 原子密度研究: 分析不同 ACM 的原子密度,以了解半群中原子的间隔。
  • 命令行工具: 提供了命令行界面工具 acm-cli,用于测试主 ACM 模块和除数/分解子模块。
  • 图形用户界面: 可用新的图形用户界面,以便更交互式地探索 ACM。它允许用户以直观的方式参与 ACM 属性,并在用户友好的环境中进行计算。

优化和改进

  • 使用 rayon 包实现了并行处理能力。
  • 添加了 sum_vector_parallel 函数,用于并行求和向量元素。
  • 性能优化:进行了代码优化,以提高应用程序的性能,使其更吸引用户,并增加通过反垃圾邮件检查的机会。

入门

Windows 上的安装

  1. 从 GitHub 下载项目存档。
  2. 在您选择的位置解压缩存档。
  3. 打开命令提示符并导航到项目目录。
  4. 运行命令 cargo build --release 以构建项目。

Linux 上的安装

  1. 打开终端。

  2. 使用命令 git clone https://github.com/FullPlay0/acm2 克隆项目仓库。

  3. 导航到包含项目的目录。

  4. 运行命令 cargo build --release 以构建项目。

  5. 克隆仓库

    git clone https://github.com/FullPlay0/acm2
    

依赖项

~29–48MB
~825K SLoC