Numalyze is a web-based numerical analysis toolkit built with Python and Flask. It offers an interactive environment to explore classic numerical methods, from solving equations to performing complex integrations and linear algebra routines. By simply entering parameters into a web form, users can instantly view computed results and insights.
This application centralizes a variety of numerical analysis techniques in one place, making them accessible and easy to experiment with. Whether you’re a student learning these concepts for the first time or a professional seeking to validate results, Numalyze provides quick, accurate calculations along with a minimal, user-friendly interface.
- Root-Finding Algorithms: Bisection Method, Fixed Point Iteration, Newton’s Method (standard and modified), Secant Method, and Müller’s Method.
- Convergence Acceleration: Aitken’s and Steffensen’s Methods for speeding up iterative processes.
- Integration Techniques: Composite Trapezoidal, Composite Simpson’s, and Romberg’s Integration.
- Linear Algebra: Compute the Reduced Row Echelon Form (RREF) of a matrix.
- Interactive Interface: Each algorithm is accessible via a dedicated route, where users can input functions, intervals, initial guesses, and tolerances.
- Python & Flask: Provide the core logic and web server functionality.
- Jinja2 Templates: Enable dynamic, server-side rendered HTML pages.
- HTML/CSS/Bootstrap: Power a clean and responsive front-end.
- Docker: Containerization via a slim Python 3.12 image.
- Clone the Repository
git clone https://github.com/only-devops/numalyze.git cd numalyze
- Build the Docker Image
docker build -t numalyze .
- Run the Container
The app will be accessible at http://127.0.0.1:5000.
docker run -p 5000:5000 --name numalyze_container numalyze
Environment Variables
PORT
(Optional): If you want to change the port the app is listening on within the container, pass-e PORT=<your_port>
to Docker.
Note: The default command in the Dockerfile uses Gunicorn and binds the application to port 5000
.
- Run the Flask App (Without Docker)
python run.py
- Open Your Browser to http://127.0.0.1:5000 (or the displayed host/port).
- Navigate to Various Methods
- Root-Finding
- Integration
- Linear Algebra (RREF)
- Input Parameters as prompted (function definition, intervals, initial guesses, or matrix entries) and click the button to compute results.
We welcome pull requests and issues! Feel free to:
- Suggest or implement new numerical methods.
- Improve existing algorithms.
- Enhance the UI/UX.
- Write documentation or tutorials.
When contributing, please:
- Follow the current code style.