| from _typeshed import ConvertibleToInt | |
| from collections.abc import Callable, Iterable | |
| from typing import ( | |
| Any, | |
| ClassVar, | |
| Concatenate, | |
| Final, | |
| Literal as L, | |
| Self, | |
| TypeVar, | |
| overload, | |
| ) | |
| import numpy as np | |
| import numpy.typing as npt | |
| from numpy._typing import _IntLike_co | |
| from ._polybase import ABCPolyBase | |
| from ._polytypes import ( | |
| _Array1, | |
| _Array2, | |
| _CoefSeries, | |
| _FuncBinOp, | |
| _FuncCompanion, | |
| _FuncDer, | |
| _FuncFit, | |
| _FuncFromRoots, | |
| _FuncGauss, | |
| _FuncInteg, | |
| _FuncLine, | |
| _FuncPoly2Ortho, | |
| _FuncPow, | |
| _FuncRoots, | |
| _FuncUnOp, | |
| _FuncVal, | |
| _FuncVal2D, | |
| _FuncVal3D, | |
| _FuncVander, | |
| _FuncVander2D, | |
| _FuncVander3D, | |
| _FuncWeight, | |
| _Series, | |
| _SeriesLikeCoef_co, | |
| ) | |
| from .polyutils import trimcoef as chebtrim | |
| __all__ = [ | |
| "chebzero", | |
| "chebone", | |
| "chebx", | |
| "chebdomain", | |
| "chebline", | |
| "chebadd", | |
| "chebsub", | |
| "chebmulx", | |
| "chebmul", | |
| "chebdiv", | |
| "chebpow", | |
| "chebval", | |
| "chebder", | |
| "chebint", | |
| "cheb2poly", | |
| "poly2cheb", | |
| "chebfromroots", | |
| "chebvander", | |
| "chebfit", | |
| "chebtrim", | |
| "chebroots", | |
| "chebpts1", | |
| "chebpts2", | |
| "Chebyshev", | |
| "chebval2d", | |
| "chebval3d", | |
| "chebgrid2d", | |
| "chebgrid3d", | |
| "chebvander2d", | |
| "chebvander3d", | |
| "chebcompanion", | |
| "chebgauss", | |
| "chebweight", | |
| "chebinterpolate", | |
| ] | |
| _NumberOrObjectT = TypeVar("_NumberOrObjectT", bound=np.number | np.object_) | |
| _CoefScalarT = TypeVar("_CoefScalarT", bound=np.number | np.bool | np.object_) | |
| def _cseries_to_zseries(c: npt.NDArray[_NumberOrObjectT]) -> _Series[_NumberOrObjectT]: ... | |
| def _zseries_to_cseries(zs: npt.NDArray[_NumberOrObjectT]) -> _Series[_NumberOrObjectT]: ... | |
| def _zseries_mul(z1: npt.NDArray[_NumberOrObjectT], z2: npt.NDArray[_NumberOrObjectT]) -> _Series[_NumberOrObjectT]: ... | |
| def _zseries_div(z1: npt.NDArray[_NumberOrObjectT], z2: npt.NDArray[_NumberOrObjectT]) -> _Series[_NumberOrObjectT]: ... | |
| def _zseries_der(zs: npt.NDArray[_NumberOrObjectT]) -> _Series[_NumberOrObjectT]: ... | |
| def _zseries_int(zs: npt.NDArray[_NumberOrObjectT]) -> _Series[_NumberOrObjectT]: ... | |
| poly2cheb: Final[_FuncPoly2Ortho] = ... | |
| cheb2poly: Final[_FuncUnOp] = ... | |
| chebdomain: Final[_Array2[np.float64]] = ... | |
| chebzero: Final[_Array1[np.int_]] = ... | |
| chebone: Final[_Array1[np.int_]] = ... | |
| chebx: Final[_Array2[np.int_]] = ... | |
| chebline: Final[_FuncLine] = ... | |
| chebfromroots: Final[_FuncFromRoots] = ... | |
| chebadd: Final[_FuncBinOp] = ... | |
| chebsub: Final[_FuncBinOp] = ... | |
| chebmulx: Final[_FuncUnOp] = ... | |
| chebmul: Final[_FuncBinOp] = ... | |
| chebdiv: Final[_FuncBinOp] = ... | |
| chebpow: Final[_FuncPow] = ... | |
| chebder: Final[_FuncDer] = ... | |
| chebint: Final[_FuncInteg] = ... | |
| chebval: Final[_FuncVal] = ... | |
| chebval2d: Final[_FuncVal2D] = ... | |
| chebval3d: Final[_FuncVal3D] = ... | |
| chebgrid2d: Final[_FuncVal2D] = ... | |
| chebgrid3d: Final[_FuncVal3D] = ... | |
| chebvander: Final[_FuncVander] = ... | |
| chebvander2d: Final[_FuncVander2D] = ... | |
| chebvander3d: Final[_FuncVander3D] = ... | |
| chebfit: Final[_FuncFit] = ... | |
| chebcompanion: Final[_FuncCompanion] = ... | |
| chebroots: Final[_FuncRoots] = ... | |
| chebgauss: Final[_FuncGauss] = ... | |
| chebweight: Final[_FuncWeight] = ... | |
| def chebpts1(npts: ConvertibleToInt) -> np.ndarray[tuple[int], np.dtype[np.float64]]: ... | |
| def chebpts2(npts: ConvertibleToInt) -> np.ndarray[tuple[int], np.dtype[np.float64]]: ... | |
| # keep in sync with `Chebyshev.interpolate` (minus `domain` parameter) | |
| @overload | |
| def chebinterpolate( | |
| func: np.ufunc, | |
| deg: _IntLike_co, | |
| args: tuple[()] = (), | |
| ) -> npt.NDArray[np.float64 | np.complex128 | np.object_]: ... | |
| @overload | |
| def chebinterpolate( | |
| func: Callable[[npt.NDArray[np.float64]], _CoefScalarT], | |
| deg: _IntLike_co, | |
| args: tuple[()] = (), | |
| ) -> npt.NDArray[_CoefScalarT]: ... | |
| @overload | |
| def chebinterpolate( | |
| func: Callable[Concatenate[npt.NDArray[np.float64], ...], _CoefScalarT], | |
| deg: _IntLike_co, | |
| args: Iterable[Any], | |
| ) -> npt.NDArray[_CoefScalarT]: ... | |
| class Chebyshev(ABCPolyBase[L["T"]]): | |
| basis_name: ClassVar[L["T"]] = "T" # pyright: ignore[reportIncompatibleMethodOverride] | |
| domain: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride] | |
| window: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride] | |
| @overload | |
| @classmethod | |
| def interpolate( | |
| cls, | |
| func: Callable[[npt.NDArray[np.float64]], _CoefSeries], | |
| deg: _IntLike_co, | |
| domain: _SeriesLikeCoef_co | None = None, | |
| args: tuple[()] = (), | |
| ) -> Self: ... | |
| @overload | |
| @classmethod | |
| def interpolate( | |
| cls, | |
| func: Callable[Concatenate[npt.NDArray[np.float64], ...], _CoefSeries], | |
| deg: _IntLike_co, | |
| domain: _SeriesLikeCoef_co | None = None, | |
| *, | |
| args: Iterable[Any], | |
| ) -> Self: ... | |
| @overload | |
| @classmethod | |
| def interpolate( | |
| cls, | |
| func: Callable[Concatenate[npt.NDArray[np.float64], ...], _CoefSeries], | |
| deg: _IntLike_co, | |
| domain: _SeriesLikeCoef_co | None, | |
| args: Iterable[Any], | |
| ) -> Self: ... | |