Plumial: Collatz Conjecture Analysis

Plumial is a Python package for mathematical analysis of the Collatz conjecture using polynomial representations. It provides efficient tools for working with path objects, d polynomials, and uv transformations.

Features

  • Path Objects (P class): Hydrated path identifiers that encode Collatz sequence paths

  • D Polynomials (D class): Algebraic analysis using h^e - g^o forms

  • UV Polynomials: Binary path representations with u/v variables

  • Symbolic Mathematics: Full SymPy integration with S, I, F namespaces

  • Performance Optimized: LRU caching for computational efficiency

  • Type Safe: Comprehensive type hints and protocols

Quick Start

from plumial import P
from plumial.core import B
from plumial.utils import S, I, F

# Create a polynomial for p-value 133
p = P(133)

# Get bit counts
print(f"n={p.n()}, o={p.o()}, e={p.e()}")  # n=7, o=2, e=5

# Work with symbolic forms
print(p.d())  # h**5 - g**2
print(p.k())  # Symbolic k polynomial

# Evaluate numerically using basis encoding
print(p.encode(B.Collatz).d())               # Evaluates with g=3, h=2: 23

# Cycle operations with functional style
odd_k_values = list(P(281).cycle(map=F.k(), filter=F.isodd))

Installation

pip install plumial

Documentation