File size: 2,989 Bytes
2216aae |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
from typing import Any, ClassVar, Final, overload
import numpy as np
import numpy.typing as npt
from numpy._typing import (
_ArrayLikeFloat_co,
_ArrayLikeNumber_co,
_FloatLike_co,
_NumberLike_co,
)
from ._polybase import ABCPolyBase
from ._polytypes import (
_Array1,
_Array2,
_ArrayLikeCoef_co,
_FuncBinOp,
_FuncCompanion,
_FuncDer,
_FuncFit,
_FuncFromRoots,
_FuncInteg,
_FuncLine,
_FuncPow,
_FuncRoots,
_FuncUnOp,
_FuncVal,
_FuncVal2D,
_FuncVal3D,
_FuncVander,
_FuncVander2D,
_FuncVander3D,
)
from .polyutils import trimcoef as polytrim
__all__ = [
"polyzero",
"polyone",
"polyx",
"polydomain",
"polyline",
"polyadd",
"polysub",
"polymulx",
"polymul",
"polydiv",
"polypow",
"polyval",
"polyvalfromroots",
"polyder",
"polyint",
"polyfromroots",
"polyvander",
"polyfit",
"polytrim",
"polyroots",
"Polynomial",
"polyval2d",
"polyval3d",
"polygrid2d",
"polygrid3d",
"polyvander2d",
"polyvander3d",
"polycompanion",
]
polydomain: Final[_Array2[np.float64]] = ...
polyzero: Final[_Array1[np.int_]] = ...
polyone: Final[_Array1[np.int_]] = ...
polyx: Final[_Array2[np.int_]] = ...
polyline: Final[_FuncLine] = ...
polyfromroots: Final[_FuncFromRoots] = ...
polyadd: Final[_FuncBinOp] = ...
polysub: Final[_FuncBinOp] = ...
polymulx: Final[_FuncUnOp] = ...
polymul: Final[_FuncBinOp] = ...
polydiv: Final[_FuncBinOp] = ...
polypow: Final[_FuncPow] = ...
polyder: Final[_FuncDer] = ...
polyint: Final[_FuncInteg] = ...
polyval: Final[_FuncVal] = ...
polyval2d: Final[_FuncVal2D] = ...
polyval3d: Final[_FuncVal3D] = ...
@overload
def polyvalfromroots(x: _FloatLike_co, r: _FloatLike_co, tensor: bool = True) -> np.float64 | Any: ...
@overload
def polyvalfromroots(x: _NumberLike_co, r: _NumberLike_co, tensor: bool = True) -> np.complex128 | Any: ...
@overload
def polyvalfromroots(x: _ArrayLikeFloat_co, r: _ArrayLikeFloat_co, tensor: bool = True) -> npt.NDArray[np.float64 | Any]: ...
@overload
def polyvalfromroots(x: _ArrayLikeNumber_co, r: _ArrayLikeNumber_co, tensor: bool = True) -> npt.NDArray[np.complex128 | Any]: ...
@overload
def polyvalfromroots(x: _ArrayLikeCoef_co, r: _ArrayLikeCoef_co, tensor: bool = True) -> npt.NDArray[np.object_ | Any]: ...
polygrid2d: Final[_FuncVal2D] = ...
polygrid3d: Final[_FuncVal3D] = ...
polyvander: Final[_FuncVander] = ...
polyvander2d: Final[_FuncVander2D] = ...
polyvander3d: Final[_FuncVander3D] = ...
polyfit: Final[_FuncFit] = ...
polycompanion: Final[_FuncCompanion] = ...
polyroots: Final[_FuncRoots] = ...
class Polynomial(ABCPolyBase[None]):
basis_name: ClassVar[None] = None # pyright: ignore[reportIncompatibleMethodOverride]
domain: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride]
window: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride]
|