arithmetic_congruence_monoid

Crates.ioarithmetic_congruence_monoid
lib.rsarithmetic_congruence_monoid
version1.2.1
sourcesrc
created_at2024-03-01 19:20:55.496555
updated_at2024-03-09 13:06:28.959051
descriptionРеализует арифметические конгруэнтные моноиды (ACM) в проекте на основе YAML.
homepage
repositoryhttps://github.com/FullPlay0/acm2
max_upload_size
id1159166
size120,247
cryptomiracle (FullPlay0)

documentation

https://docs.example.com/acm

README

Arithmetic Congruence Monoids (ACM)

Description

This Rust project implements Arithmetic Congruence Monoids (ACMs), presented in a YAML-based configuration. ACMs are defined as (M_{a,b} = {a + bm : m \in \mathbb{Z}_{\geq 0}} \cup {1} = {1, a, a+b, a+2b,\ldots}). This project provides tools for factorizing integers into elements of the ACM, studying the atomic density of ACMs, and understanding the distribution of atoms within these monoids. Additionally, a graphical user interface (GUI) has been introduced to facilitate interactive exploration of ACM properties.

Features

  • Factorization into ACM elements: Identify elements within an ACM that cannot be expressed as the product of smaller ACM elements, known as atoms.
  • Atomic Density Study: Analyze the atomic density of different ACMs to understand the spacing between atoms within the monoid.
  • CLI Tool: A command-line interface tool, acm-cli, is provided for testing the main ACM module and the divisors/factorize submodules.
  • GUI Application: A new graphical user interface is available for a more interactive exploration of ACMs. It allows users to visually engage with the ACM properties and perform calculations in a user-friendly environment.

Optimizations and Improvements

  • Parallel processing capabilities have been implemented using the rayon crate.
  • The sum_vector_parallel function has been added for parallel summation of vector elements.
  • Performance Optimization: Code optimization has been performed to improve the application's performance, making it more attractive to users and increasing the chances of passing the anti-spam check.

Getting Started

Installation on Windows

  1. Download the project archive from GitHub.
  2. Unzip the archive in a location of your choice.
  3. Open the command prompt and navigate to the project directory.
  4. Run the command cargo build --release to build the project.

Installation on Linux

  1. Open the terminal.

  2. Clone the project repository using the command git clone https://github.com/FullPlay0/acm2.

  3. Navigate to the directory with the project.

  4. Run the command cargo build --release to build the project.

  5. Clone the Repository:

    git clone https://github.com/FullPlay0/acm2
    
    
Commit count: 0

cargo fmt