# Numericals

[![PyPI version](https://badge.fury.io/py/numericals.svg)](https://badge.fury.io/py/numericals)
[![PyPI Downloads](https://static.pepy.tech/personalized-badge/numericals?period=total&units=NONE&left_color=GRAY&right_color=BLUE&left_text=downloads)](https://pepy.tech/projects/numericals)
[![license](https://img.shields.io/pypi/l/numericals.svg)](https://github.com/andrew-yoo/numericals/blob/main/LICENSE)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)


-----

Numerical methods in pure Python.

[Documentation](docs/docs.md) is available, but it might be easier to just read the code.

## Installation
```pip install numericals```

## Algorithms
- Integration
    - Trapezoidal Rule
    - Midpoint Rule
    - Simpson's Rule
    - Monte Carlo
    - Gaussian Quadrature

- ODE
    - Euler's Method
    - Heun's Method
    - Runge-Kutta 4

- Optimization
    - Golden Section Search

- Root-finding
    - Bisection Method
    - Secant Method
    - Newton's Method
    - Regula Falsi
    - Illinois Algorithm

## Tests
```
python -m pytest tests
```

## License

[LGPLv2.1](LICENSE)
