Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Scientific Computing
  3. orthopy

orthopy

A Python library providing orthogonal polynomial classes for lines, triangles, disks, spheres, n-cubes, and nD spaces with stable recurrence schemes.

GitHubGitHub
192 stars18 forks0 contributors

What is orthopy?

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.

Target Audience

Researchers, scientists, and engineers working in numerical analysis, computational physics, finite element methods, or any field requiring orthogonal polynomial bases for approximation and integration.

Value Proposition

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.

Overview

:triangular_ruler: Orthogonal polynomials in all shapes and sizes.

Use Cases

Best For

  • Numerical integration using Gaussian quadrature rules
  • Spectral methods for partial differential equations
  • Approximation theory and function approximation
  • Finite element method basis function generation
  • Computational physics simulations requiring orthogonal bases
  • Symbolic manipulation of orthogonal polynomials

Not Ideal For

  • Projects requiring only basic orthogonal polynomials for common domains (e.g., Legendre on [-1,1]) where SciPy's free functions suffice
  • Teams with strict open-source or zero-cost licensing requirements, as commercial use requires a paid license
  • Applications needing real-time performance with minimal overhead, due to symbolic computation and vectorization latency
  • Developers unfamiliar with orthogonal polynomial theory, given the specialized iterator-based interface and recurrence schemes

Pros & Cons

Pros

Numerically Stable Recurrence

Uses stable recurrence schemes to ensure accuracy for high-degree polynomials, critical for reliable computations in numerical integration and approximation.

Vectorized Evaluation

Functions are fully vectorized for efficient evaluation at multiple points, enabling batch processing and performance gains in scientific computing.

Symbolic Computation Support

Integrates with SymPy for exact arithmetic and symbolic polynomial generation, allowing precise manipulation and analysis for theoretical work.

Broad Domain Coverage

Supports diverse geometric domains like triangles, disks, and spheres with various weight functions, providing a unified interface for advanced numerical methods.

Cons

Commercial Licensing Barrier

Requires a paid license for commercial use via MondayTech, adding cost and administrative complexity compared to fully open-source alternatives like SciPy.

Complex Interface for Novices

The iterator-based `Eval` pattern and need to manage recurrence coefficients can be less intuitive than direct function calls, posing a steep learning curve.

Limited Ecosystem and Documentation

As a specialized library, it has fewer community resources and examples, with advanced usage often relying on external publications for guidance.

Frequently Asked Questions

Quick Stats

Stars192
Forks18
Contributors0
Open Issues8
Last commit5 months ago
CreatedSince 2017

Tags

#scientific-computing#mathematics#physics#python-library#polynomials#special-functions#engineering#python#chemistry#numerical-integration#numerical-methods

Built With

P
Python
N
NumPy
S
SymPy

Included in

Scientific Computing1.5k
Auto-fetched 1 day ago

Related Projects

quadpyquadpy

:triangular_ruler: Numerical integration (quadrature, cubature) in Python

Stars786
Forks91
Last commit5 months ago
HPDDMHPDDM

A framework for high-performance domain decomposition methods.

Stars161
Forks37
Last commit2 days ago
PyDMDPyDMD

mathLab mirror of Python Dynamic Mode Decomposition

Stars129
Forks11
Last commit1 year ago
accupyaccupy

:dart: Accurate sums and dot products for Python.

Stars107
Forks15
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub