|
from typing import ( |
|
Any, |
|
Callable, |
|
Literal, |
|
Optional, |
|
overload, |
|
) |
|
|
|
import numpy as np |
|
|
|
_IntegerType = int | np.integer |
|
_FloatingType = float | np.floating |
|
_PointsAndWeights = tuple[np.ndarray, np.ndarray] |
|
_PointsAndWeightsAndMu = tuple[np.ndarray, np.ndarray, float] |
|
|
|
_ArrayLike0D = bool | int | float | complex | str | bytes | np.generic |
|
|
|
__all__ = [ |
|
'legendre', |
|
'chebyt', |
|
'chebyu', |
|
'chebyc', |
|
'chebys', |
|
'jacobi', |
|
'laguerre', |
|
'genlaguerre', |
|
'hermite', |
|
'hermitenorm', |
|
'gegenbauer', |
|
'sh_legendre', |
|
'sh_chebyt', |
|
'sh_chebyu', |
|
'sh_jacobi', |
|
'roots_legendre', |
|
'roots_chebyt', |
|
'roots_chebyu', |
|
'roots_chebyc', |
|
'roots_chebys', |
|
'roots_jacobi', |
|
'roots_laguerre', |
|
'roots_genlaguerre', |
|
'roots_hermite', |
|
'roots_hermitenorm', |
|
'roots_gegenbauer', |
|
'roots_sh_legendre', |
|
'roots_sh_chebyt', |
|
'roots_sh_chebyu', |
|
'roots_sh_jacobi', |
|
] |
|
|
|
@overload |
|
def roots_jacobi( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
beta: _FloatingType, |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_jacobi( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
beta: _FloatingType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_jacobi( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
beta: _FloatingType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_sh_jacobi( |
|
n: _IntegerType, |
|
p1: _FloatingType, |
|
q1: _FloatingType, |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_jacobi( |
|
n: _IntegerType, |
|
p1: _FloatingType, |
|
q1: _FloatingType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_jacobi( |
|
n: _IntegerType, |
|
p1: _FloatingType, |
|
q1: _FloatingType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_genlaguerre( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_genlaguerre( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_genlaguerre( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_laguerre(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_laguerre( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_laguerre( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_hermite(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_hermite( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_hermite( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_hermitenorm(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_hermitenorm( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_hermitenorm( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_gegenbauer( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_gegenbauer( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_gegenbauer( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_chebyt(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebyt( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebyt( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_chebyu(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebyu( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebyu( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_chebyc(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebyc( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebyc( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_chebys(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebys( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_chebys( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_sh_chebyt(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_chebyt( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_chebyt( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_sh_chebyu(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_chebyu( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_chebyu( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_legendre(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_legendre( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_legendre( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
@overload |
|
def roots_sh_legendre(n: _IntegerType) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_legendre( |
|
n: _IntegerType, |
|
mu: Literal[False], |
|
) -> _PointsAndWeights: ... |
|
@overload |
|
def roots_sh_legendre( |
|
n: _IntegerType, |
|
mu: Literal[True], |
|
) -> _PointsAndWeightsAndMu: ... |
|
|
|
class orthopoly1d(np.poly1d): |
|
def __init__( |
|
self, |
|
roots: np.typing.ArrayLike, |
|
weights: np.typing.ArrayLike | None, |
|
hn: float = ..., |
|
kn: float = ..., |
|
wfunc = Optional[Callable[[float], float]], |
|
limits = tuple[float, float] | None, |
|
monic: bool = ..., |
|
eval_func: np.ufunc = ..., |
|
) -> None: ... |
|
@property |
|
def limits(self) -> tuple[float, float]: ... |
|
def weight_func(self, x: float) -> float: ... |
|
@overload |
|
def __call__(self, x: _ArrayLike0D) -> Any: ... |
|
@overload |
|
def __call__(self, x: np.poly1d) -> np.poly1d: ... |
|
@overload |
|
def __call__(self, x: np.typing.ArrayLike) -> np.ndarray: ... |
|
|
|
def legendre(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def chebyt(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def chebyu(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def chebyc(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def chebys(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def jacobi( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
beta: _FloatingType, |
|
monic: bool = ..., |
|
) -> orthopoly1d: ... |
|
def laguerre(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def genlaguerre( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
monic: bool = ..., |
|
) -> orthopoly1d: ... |
|
def hermite(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def hermitenorm(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def gegenbauer( |
|
n: _IntegerType, |
|
alpha: _FloatingType, |
|
monic: bool = ..., |
|
) -> orthopoly1d: ... |
|
def sh_legendre(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def sh_chebyt(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def sh_chebyu(n: _IntegerType, monic: bool = ...) -> orthopoly1d: ... |
|
def sh_jacobi( |
|
n: _IntegerType, |
|
p: _FloatingType, |
|
q: _FloatingType, |
|
monic: bool = ..., |
|
) -> orthopoly1d: ... |
|
|
|
|
|
|
|
def _roots_hermite_asy(n: _IntegerType) -> _PointsAndWeights: ... |
|
|