{"id":27229,"library":"passagemath-sirocco","title":"passagemath-sirocco","description":"passagemath-sirocco provides certified root continuation for homotopy continuation methods, wrapping the sirocco C library. Version 10.8.4 requires Python >=3.11 and <3.15. Part of the passagemath ecosystem.","status":"active","version":"10.8.4","language":"python","source_language":"en","source_url":"https://github.com/passagemath/passagemath-sirocco","tags":["passagemath","homotopy continuation","certified roots","sirocco"],"install":[{"cmd":"pip install passagemath-sirocco","lang":"bash","label":"PyPI install"}],"dependencies":[{"reason":"Core package; sirocco is an optional extension","package":"passagemath","optional":false}],"imports":[{"note":"sirocco is a submodule of passagemath; direct import fails.","wrong":"import sirocco","symbol":"sirocco","correct":"import passagemath.sirocco"},{"note":"Wrong package name; must use passagemath.sirocco.","wrong":"from sirocco import certified_continuation","symbol":"certified_continuation","correct":"from passagemath.sirocco import certified_continuation"}],"quickstart":{"code":"import passagemath.sirocco as sirocco\n\n# Define a homotopy H(x,t) = (1-t)*f(x) + t*g(x)\ndef H(x, t):\n    return [x[0]**2 - 2 + (1-t)*0.0, x[0]*x[1] - 1 + (t-1)*0.0]\n\nstart_solutions = [[1.4, 0.7], [-1.4, -0.7]]\ntarget_param = 1.0\n\nresult = sirocco.certified_continuation(H, start_solutions, target_param)\nprint(\"Certified solutions:\", result)","lang":"python","description":"Certifies root continuation for a homotopy from start solutions to target parameter."},"warnings":[{"fix":"Use Python 3.11-3.14.","message":"Python version requirement: <3.15,>=3.11. Will not install on Python 3.10 or older, or on Python 3.15+.","severity":"breaking","affected_versions":"10.8.4"},{"fix":"Use 'import passagemath.sirocco' or 'from passagemath import sirocco'.","message":"The sirocco module is not importable directly; always use 'import passagemath.sirocco'.","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure homotopy evaluation returns floats or complex numbers.","message":"Homotopy functions must return a list of expressions convertible to complex numbers; Python floats are fine but exact rationals may cause errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run: import passagemath.sirocco","cause":"Importing 'import sirocco' instead of 'import passagemath.sirocco'.","error":"ModuleNotFoundError: No module named 'sirocco'"},{"fix":"Check the documentation: use sirocco.certified_continuation or sirocco.continuation.","cause":"The function may be named differently or not available in older versions.","error":"ImportError: cannot import name 'certified_continuation' from 'passagemath.sirocco'"},{"fix":"Ensure H returns Python floats or complex numbers, not sympy or sage objects.","cause":"Homotopy returned symbolic expressions instead of numbers.","error":"TypeError: can't convert expression to float"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}