File size: 2,638 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 |
from typing import Any, ClassVar, Final, Literal as L, TypeVar
import numpy as np
from numpy._typing import _Shape
from ._polybase import ABCPolyBase
from ._polytypes import (
_Array1,
_Array2,
_FuncBinOp,
_FuncCompanion,
_FuncDer,
_FuncFit,
_FuncFromRoots,
_FuncGauss,
_FuncInteg,
_FuncLine,
_FuncPoly2Ortho,
_FuncPow,
_FuncRoots,
_FuncUnOp,
_FuncVal,
_FuncVal2D,
_FuncVal3D,
_FuncVander,
_FuncVander2D,
_FuncVander3D,
_FuncWeight,
)
from .polyutils import trimcoef as hermtrim
__all__ = [
"hermzero",
"hermone",
"hermx",
"hermdomain",
"hermline",
"hermadd",
"hermsub",
"hermmulx",
"hermmul",
"hermdiv",
"hermpow",
"hermval",
"hermder",
"hermint",
"herm2poly",
"poly2herm",
"hermfromroots",
"hermvander",
"hermfit",
"hermtrim",
"hermroots",
"Hermite",
"hermval2d",
"hermval3d",
"hermgrid2d",
"hermgrid3d",
"hermvander2d",
"hermvander3d",
"hermcompanion",
"hermgauss",
"hermweight",
]
_ShapeT = TypeVar("_ShapeT", bound=_Shape)
poly2herm: Final[_FuncPoly2Ortho] = ...
herm2poly: Final[_FuncUnOp] = ...
hermdomain: Final[_Array2[np.float64]] = ...
hermzero: Final[_Array1[np.int_]] = ...
hermone: Final[_Array1[np.int_]] = ...
hermx: Final[_Array2[np.int_]] = ...
hermline: Final[_FuncLine] = ...
hermfromroots: Final[_FuncFromRoots] = ...
hermadd: Final[_FuncBinOp] = ...
hermsub: Final[_FuncBinOp] = ...
hermmulx: Final[_FuncUnOp] = ...
hermmul: Final[_FuncBinOp] = ...
hermdiv: Final[_FuncBinOp] = ...
hermpow: Final[_FuncPow] = ...
hermder: Final[_FuncDer] = ...
hermint: Final[_FuncInteg] = ...
hermval: Final[_FuncVal] = ...
hermval2d: Final[_FuncVal2D] = ...
hermval3d: Final[_FuncVal3D] = ...
hermgrid2d: Final[_FuncVal2D] = ...
hermgrid3d: Final[_FuncVal3D] = ...
hermvander: Final[_FuncVander] = ...
hermvander2d: Final[_FuncVander2D] = ...
hermvander3d: Final[_FuncVander3D] = ...
hermfit: Final[_FuncFit] = ...
hermcompanion: Final[_FuncCompanion] = ...
hermroots: Final[_FuncRoots] = ...
def _normed_hermite_n(x: np.ndarray[_ShapeT, np.dtype[np.float64]], n: int) -> np.ndarray[_ShapeT, np.dtype[np.float64]]: ...
hermgauss: Final[_FuncGauss] = ...
hermweight: Final[_FuncWeight] = ...
class Hermite(ABCPolyBase[L["H"]]):
basis_name: ClassVar[L["H"]] = "H" # pyright: ignore[reportIncompatibleMethodOverride]
domain: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride]
window: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride]
|