| | import abc |
| | import decimal |
| | from collections.abc import Iterator, Sequence |
| | from typing import ( |
| | Any, |
| | ClassVar, |
| | Generic, |
| | Literal, |
| | Self, |
| | SupportsIndex, |
| | TypeAlias, |
| | overload, |
| | ) |
| | from typing_extensions import TypeIs, TypeVar |
| |
|
| | import numpy as np |
| | import numpy.typing as npt |
| | from numpy._typing import ( |
| | _ArrayLikeComplex_co, |
| | _ArrayLikeFloat_co, |
| | _FloatLike_co, |
| | _NumberLike_co, |
| | ) |
| |
|
| | from ._polytypes import ( |
| | _AnyInt, |
| | _Array2, |
| | _ArrayLikeCoef_co, |
| | _ArrayLikeCoefObject_co, |
| | _CoefLike_co, |
| | _CoefSeries, |
| | _Series, |
| | _SeriesLikeCoef_co, |
| | _SeriesLikeInt_co, |
| | _Tuple2, |
| | ) |
| |
|
| | __all__ = ["ABCPolyBase"] |
| |
|
| | _NameT_co = TypeVar("_NameT_co", bound=str | None, default=str | None, covariant=True) |
| | _PolyT = TypeVar("_PolyT", bound=ABCPolyBase) |
| | _AnyOther: TypeAlias = ABCPolyBase | _CoefLike_co | _SeriesLikeCoef_co |
| |
|
| | class ABCPolyBase(Generic[_NameT_co], abc.ABC): |
| | __hash__: ClassVar[None] = None |
| | __array_ufunc__: ClassVar[None] = None |
| | maxpower: ClassVar[Literal[100]] = 100 |
| |
|
| | _superscript_mapping: ClassVar[dict[int, str]] = ... |
| | _subscript_mapping: ClassVar[dict[int, str]] = ... |
| | _use_unicode: ClassVar[bool] = ... |
| |
|
| | _symbol: str |
| | @property |
| | def symbol(self, /) -> str: ... |
| | @property |
| | @abc.abstractmethod |
| | def domain(self) -> _Array2[np.float64 | Any]: ... |
| | @property |
| | @abc.abstractmethod |
| | def window(self) -> _Array2[np.float64 | Any]: ... |
| | @property |
| | @abc.abstractmethod |
| | def basis_name(self) -> _NameT_co: ... |
| |
|
| | coef: _CoefSeries |
| |
|
| | def __init__( |
| | self, |
| | /, |
| | coef: _SeriesLikeCoef_co, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | symbol: str = "x", |
| | ) -> None: ... |
| |
|
| | |
| | @overload |
| | def __call__(self, /, arg: _PolyT) -> _PolyT: ... |
| | @overload |
| | def __call__(self, /, arg: _FloatLike_co | decimal.Decimal) -> np.float64 | Any: ... |
| | @overload |
| | def __call__(self, /, arg: _NumberLike_co) -> np.complex128 | Any: ... |
| | @overload |
| | def __call__(self, /, arg: _ArrayLikeFloat_co) -> npt.NDArray[np.float64 | Any]: ... |
| | @overload |
| | def __call__(self, /, arg: _ArrayLikeComplex_co) -> npt.NDArray[np.complex128 | Any]: ... |
| | @overload |
| | def __call__(self, /, arg: _ArrayLikeCoefObject_co) -> npt.NDArray[np.object_]: ... |
| |
|
| | |
| | def __neg__(self, /) -> Self: ... |
| | def __pos__(self, /) -> Self: ... |
| |
|
| | |
| | def __add__(self, x: _AnyOther, /) -> Self: ... |
| | def __sub__(self, x: _AnyOther, /) -> Self: ... |
| | def __mul__(self, x: _AnyOther, /) -> Self: ... |
| | def __pow__(self, x: _AnyOther, /) -> Self: ... |
| | def __truediv__(self, x: _AnyOther, /) -> Self: ... |
| | def __floordiv__(self, x: _AnyOther, /) -> Self: ... |
| | def __mod__(self, x: _AnyOther, /) -> Self: ... |
| | def __divmod__(self, x: _AnyOther, /) -> _Tuple2[Self]: ... |
| |
|
| | |
| | def __radd__(self, x: _AnyOther, /) -> Self: ... |
| | def __rsub__(self, x: _AnyOther, /) -> Self: ... |
| | def __rmul__(self, x: _AnyOther, /) -> Self: ... |
| | def __rtruediv__(self, x: _AnyOther, /) -> Self: ... |
| | def __rfloordiv__(self, x: _AnyOther, /) -> Self: ... |
| | def __rmod__(self, x: _AnyOther, /) -> Self: ... |
| | def __rdivmod__(self, x: _AnyOther, /) -> _Tuple2[Self]: ... |
| |
|
| | |
| | def __len__(self, /) -> int: ... |
| | def __iter__(self, /) -> Iterator[np.float64 | Any]: ... |
| |
|
| | |
| | def __getstate__(self, /) -> dict[str, Any]: ... |
| | def __setstate__(self, dict: dict[str, Any], /) -> None: ... |
| |
|
| | |
| | def has_samecoef(self, /, other: ABCPolyBase) -> bool: ... |
| | def has_samedomain(self, /, other: ABCPolyBase) -> bool: ... |
| | def has_samewindow(self, /, other: ABCPolyBase) -> bool: ... |
| | def has_sametype(self, /, other: object) -> TypeIs[Self]: ... |
| |
|
| | |
| | def copy(self, /) -> Self: ... |
| | def degree(self, /) -> int: ... |
| | def cutdeg(self, /, deg: int) -> Self: ... |
| | def trim(self, /, tol: _FloatLike_co = 0) -> Self: ... |
| | def truncate(self, /, size: _AnyInt) -> Self: ... |
| |
|
| | |
| | @overload |
| | def convert( |
| | self, |
| | /, |
| | domain: _SeriesLikeCoef_co | None, |
| | kind: type[_PolyT], |
| | window: _SeriesLikeCoef_co | None = None, |
| | ) -> _PolyT: ... |
| | @overload |
| | def convert( |
| | self, |
| | /, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | *, |
| | kind: type[_PolyT], |
| | window: _SeriesLikeCoef_co | None = None, |
| | ) -> _PolyT: ... |
| | @overload |
| | def convert( |
| | self, |
| | /, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | kind: None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | ) -> Self: ... |
| |
|
| | |
| | def mapparms(self, /) -> _Tuple2[Any]: ... |
| | def integ( |
| | self, |
| | /, |
| | m: SupportsIndex = 1, |
| | k: _CoefLike_co | _SeriesLikeCoef_co = [], |
| | lbnd: _CoefLike_co | None = None, |
| | ) -> Self: ... |
| | def deriv(self, /, m: SupportsIndex = 1) -> Self: ... |
| | def roots(self, /) -> _CoefSeries: ... |
| | def linspace( |
| | self, |
| | /, |
| | n: SupportsIndex = 100, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | ) -> _Tuple2[_Series[np.float64 | np.complex128]]: ... |
| |
|
| | |
| | @overload |
| | @classmethod |
| | def fit( |
| | cls, |
| | x: _SeriesLikeCoef_co, |
| | y: _SeriesLikeCoef_co, |
| | deg: int | _SeriesLikeInt_co, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | rcond: _FloatLike_co | None = None, |
| | full: Literal[False] = False, |
| | w: _SeriesLikeCoef_co | None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | symbol: str = "x", |
| | ) -> Self: ... |
| | @overload |
| | @classmethod |
| | def fit( |
| | cls, |
| | x: _SeriesLikeCoef_co, |
| | y: _SeriesLikeCoef_co, |
| | deg: int | _SeriesLikeInt_co, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | rcond: _FloatLike_co | None = None, |
| | *, |
| | full: Literal[True], |
| | w: _SeriesLikeCoef_co | None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | symbol: str = "x", |
| | ) -> tuple[Self, Sequence[np.inexact | np.int32]]: ... |
| | @overload |
| | @classmethod |
| | def fit( |
| | cls, |
| | x: _SeriesLikeCoef_co, |
| | y: _SeriesLikeCoef_co, |
| | deg: int | _SeriesLikeInt_co, |
| | domain: _SeriesLikeCoef_co | None, |
| | rcond: _FloatLike_co, |
| | full: Literal[True], |
| | /, |
| | w: _SeriesLikeCoef_co | None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | symbol: str = "x", |
| | ) -> tuple[Self, Sequence[np.inexact | np.int32]]: ... |
| |
|
| | |
| | @classmethod |
| | def fromroots( |
| | cls, |
| | roots: _ArrayLikeCoef_co, |
| | domain: _SeriesLikeCoef_co | None = [], |
| | window: _SeriesLikeCoef_co | None = None, |
| | symbol: str = "x", |
| | ) -> Self: ... |
| | @classmethod |
| | def identity( |
| | cls, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | symbol: str = "x", |
| | ) -> Self: ... |
| | @classmethod |
| | def basis( |
| | cls, |
| | deg: _AnyInt, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | symbol: str = "x", |
| | ) -> Self: ... |
| | @classmethod |
| | def cast( |
| | cls, |
| | series: ABCPolyBase, |
| | domain: _SeriesLikeCoef_co | None = None, |
| | window: _SeriesLikeCoef_co | None = None, |
| | ) -> Self: ... |
| | @classmethod |
| | def _str_term_unicode(cls, /, i: str, arg_str: str) -> str: ... |
| | @classmethod |
| | def _str_term_ascii(cls, /, i: str, arg_str: str) -> str: ... |
| | @classmethod |
| | def _repr_latex_term(cls, /, i: str, arg_str: str, needs_parens: bool) -> str: ... |
| |
|