Skip to content

Skayyali3/CollatzStandard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Collatz Conjecture Visualizer & Data Exporter

A high-caliber Python tool that explores the $3n + 1$ problem while providing options of further data analysis and visualization.

Inspired by: The Simplest Math Problem No One Can Solve - Collatz Conjecture by Veritasium on YouTube


Note: entered numbers lose precision as they become more unspeakably high

To test unspeakably high numbers accurately or see the Research behind this project: Click Here


Features

  • Algorithmic Calculation: Fast processing of the Collatz sequence for any integer, positive or negative

  • Interactive Visualization: Generates dynamic line graphs using Matplotlib to show the hailstone peaks and valleys.

  • Data Export: Utilizes Pandas to turn sequence data into a CSV file for external analysis in Excel or SQL.

  • Adaptive Logarithmic Scaling: Automatically switches to $Log_{10}$ visualization for unspeakably high numbers to prevent hardware overflow and maintain graph readability.

  • Loop Detection using Floyd's Algorithm

  • Maximum of $10^{64}$ for memory safety


Technologies Used:

  • Programming Language: Python

  • Libraries Used: Tkinter, Pandas and Matplolib

  • Concepts: Data Engineering pipelines, State Management and Mathematical Modeling.


How to Run:

Follow these steps to run the project locally:

1. Clone the repository and enter:

git clone https://github.com/Skayyali3/CollatzStandard.git
cd CollatzStandard

2. Make a virtual environment

python -m venv venv

source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows

3. Install the needed requirements

pip install -r requirements.txt

4. Run

python main.py

License

This project is licensed under the MIT License – see the license file for details.

Author

Saif Kayyali

About

A Tkinter GUI that allows users to test the collatz conjecture for the desired numbers and visualize them, and giving the option of exportation into a CSV file for further analysis

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages