Metadata-Version: 2.1
Name: pycontinuum
Version: 0.1.1
Summary: A pure Python library for polynomial homotopy continuation methods
Home-page: https://github.com/sebastian-griego/pyContinuum
Author: PyContinuum Contributors
License: MIT
Project-URL: Bug Tracker, https://github.com/sebastian-griego/pyContinuum/issues
Project-URL: Documentation, https://pycontinuum.readthedocs.io/
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.20.0
Requires-Dist: tqdm>=4.60.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: isort>=5.10.0; extra == "dev"
Requires-Dist: mypy>=0.900; extra == "dev"
Requires-Dist: sphinx>=4.5.0; extra == "dev"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=4.5.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
Requires-Dist: nbsphinx>=0.8.9; extra == "docs"
Requires-Dist: ipython>=8.0.0; extra == "docs"
Provides-Extra: monodromy
Requires-Dist: sympy>=1.12; extra == "monodromy"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"

# PyContinuum

A pure Python library for polynomial homotopy continuation methods.


[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Overview

PyContinuum is a modern, pip-installable, user-friendly Python library for solving polynomial systems using numerical homotopy continuation methods. It provides a clean, Pythonic interface for computing all solutions to systems of polynomial equations without requiring external compiled binaries.

**Key Features** (planned):

- **Clean Python API**: Define polynomials and solve systems with an intuitive interface
- **Core Homotopy Methods**: Robust implementation of predictor-corrector path tracking
- **Start System Generation**: Automated total-degree homotopy and custom start systems
- **Solution Processing**: Classification, refinement, and filtering of solutions
- **Visualization**: Tools to visualize path tracking and solution sets
- **No External Dependencies**: Pure Python implementation with optional accelerators
- **Educational**: Clear documentation and examples for teaching and learning

## Quick Example

```python
from pycontinuum import polyvar, PolynomialSystem, solve

# Define variables
x, y = polyvar('x', 'y')

# Define polynomial system
f1 = x**2 + y**2 - 1      # circle
f2 = x**2 - y             # parabola
system = PolynomialSystem([f1, f2])

# Solve the system
solutions = solve(system)

# Display solutions
print(solutions)
```

## Installation

```bash
pip install pycontinuum
pip install pycontinuum[viz]
pip install pycontinuum[monodromy]
```

## Publishing (maintainers)

```bash
python -m pip install --upgrade pip build twine
python -m build
python -m twine check dist/*
# TestPyPI
setx TWINE_USERNAME __token__
setx TWINE_PASSWORD pypi-XXXXX
python -m twine upload --repository testpypi dist/*
# PyPI
python -m twine upload dist/*
```


## Status

This project is under active development. Current focus is on implementing the core functionality for the v1.0 release.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

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

## Acknowledgments

PyContinuum draws inspiration from existing software in numerical algebraic geometry, including:
- PHCpack and phcpy
- Bertini and PyBertini
- HomotopyContinuation.jl

