A Python library providing orthogonal polynomial classes for lines, triangles, disks, spheres, n-cubes, and nD spaces with stable recurrence schemes.
orthopy is a Python library that provides orthogonal polynomial classes for various geometric domains like lines, triangles, disks, spheres, n-cubes, and nD spaces. It solves the problem of accurately computing orthogonal polynomials using numerically stable recurrence schemes, which is essential for numerical integration, approximation, and spectral methods.
Researchers, scientists, and engineers working in numerical analysis, computational physics, finite element methods, or any field requiring orthogonal polynomial bases for approximation and integration.
Developers choose orthopy for its comprehensive coverage of polynomial families across multiple domains, numerically stable implementations, and support for both numerical and symbolic computation, all within a unified Python interface.
:triangular_ruler: Orthogonal polynomials in all shapes and sizes.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses stable recurrence schemes to ensure accuracy for high-degree polynomials, critical for reliable computations in numerical integration and approximation.
Functions are fully vectorized for efficient evaluation at multiple points, enabling batch processing and performance gains in scientific computing.
Integrates with SymPy for exact arithmetic and symbolic polynomial generation, allowing precise manipulation and analysis for theoretical work.
Supports diverse geometric domains like triangles, disks, and spheres with various weight functions, providing a unified interface for advanced numerical methods.
Requires a paid license for commercial use via MondayTech, adding cost and administrative complexity compared to fully open-source alternatives like SciPy.
The iterator-based `Eval` pattern and need to manage recurrence coefficients can be less intuitive than direct function calls, posing a steep learning curve.
As a specialized library, it has fewer community resources and examples, with advanced usage often relying on external publications for guidance.