Skip to main content

A pure Python library for polynomial homotopy continuation methods

Project description

PyContinuum

A pure Python library for polynomial homotopy continuation methods.

License: 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

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

pip install pycontinuum
pip install pycontinuum[viz]
pip install pycontinuum[monodromy]

Publishing (maintainers)

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycontinuum-0.1.1-py3-none-any.whl (44.3 kB view details)

Uploaded Python 3

File details

Details for the file pycontinuum-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pycontinuum-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 44.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pycontinuum-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a9bcdeb2d0db2a3830bb5233e856f1de44ce37bb2ccb43ae10888b5c5970f0b9
MD5 246268ef0923e139dee77a3186e11c31
BLAKE2b-256 c05d5aae64d7ce1705668a91ec6c4b13b4a67715a25674c58ae10bcdb5479b23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page