Skip to main content

Primes - Advanced Primality Testing Algorithms

A Python library implementing state-of-the-art primality testing algorithms, starting with the AKS (Agrawal-Kayal-Saxena) primality test.

Overview

This repository contains implementations of various primality testing algorithms with a focus on theoretical significance and practical applications. The AKS primality test is the first deterministic polynomial-time algorithm for testing primality.

Features

  • AKS Primality Test: First deterministic polynomial-time primality test
  • Comprehensive Documentation: Detailed explanations of algorithms and mathematical foundations
  • Performance Analysis: Benchmarking and complexity analysis
  • Examples and Tutorials: Step-by-step examples demonstrating algorithm usage

Installation

pip install -e .

Quick Start

from primes.aks import AKSPrimalityTest

# Create an instance of the AKS test
aks = AKSPrimalityTest()

# Test if a number is prime
result = aks.is_prime(31)
print(f"31 is prime: {result}")  # True

# Get detailed step-by-step execution
result_detailed = aks.is_prime_detailed(31)
print(result_detailed)

Algorithms Implemented

AKS Primality Test

  • Time Complexity: O(log^6 n) (theoretical), optimized versions available
  • Space Complexity: O(log^3 n)
  • Deterministic: Yes
  • Paper: PRIMES is in P

Project Structure

primes/
├── src/
│   └── primes/
│       ├── __init__.py
│       ├── aks/
│       │   ├── __init__.py
│       │   ├── core.py
│       │   └── optimizations.py
│       └── utils/
│           ├── __init__.py
│           ├── math_utils.py
│           └── polynomial.py
├── tests/
│   ├── __init__.py
│   ├── test_aks.py
│   └── test_utils.py
├── examples/
│   ├── basic_usage.py
│   ├── performance_comparison.py
│   └── step_by_step_aks.py
├── docs/
│   ├── algorithms/
│   │   └── aks.md
│   └── mathematical_foundations.md
├── benchmarks/
│   └── aks_benchmark.py
├── requirements.txt
├── setup.py
└── README.md

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

References

  1. Agrawal, M., Kayal, N., & Saxena, N. (2004). PRIMES is in P. Annals of Mathematics, 160(2), 781-793.
  2. AKS Primality Test - Wikipedia

Acknowledgments

  • Inspired by the VaidhyaMegha/optimization_algorithms repository structure
  • Mathematical foundations based on the original AKS paper

Metadata

Release files for number-theory-primes 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for number-theory-primes 0.1.2
File Size Uploaded
number_theory_primes-0.1.2.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for number-theory-primes 0.1.2
File Interpreter ABI Platform
number_theory_primes-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 21.7 kB

Release files / number_theory_primes-0.1.2.tar.gz

Download URL number_theory_primes-0.1.2.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a467c393ae8e6280e122fb864ea616991a68273279230b372c2c59fee589647d
BLAKE2b-256 checksum
How to use checksums
aecc60c2b12c36deac36fac77cb60710e587a2878129886c0964bf0dde941848
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / number_theory_primes-0.1.2-py3-none-any.whl

Download URL number_theory_primes-0.1.2-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab03a132d9d6fa948d8185dbbcdd3aeb96f75a1cb1f8ebe837e9b53bd8f019ff
BLAKE2b-256 checksum
How to use checksums
ba7ae3a34bb636fa8fdbea078c92f4a255239686832e2b3dbe17d952dcc66038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page