107 lines
2.4 KiB
Python
107 lines
2.4 KiB
Python
from typing import Any, Final, Literal as L, TypeVar
|
|
|
|
import numpy as np
|
|
|
|
from ._polybase import ABCPolyBase
|
|
from ._polytypes import (
|
|
_Array1,
|
|
_Array2,
|
|
_FuncBinOp,
|
|
_FuncCompanion,
|
|
_FuncDer,
|
|
_FuncFit,
|
|
_FuncFromRoots,
|
|
_FuncGauss,
|
|
_FuncInteg,
|
|
_FuncLine,
|
|
_FuncPoly2Ortho,
|
|
_FuncPow,
|
|
_FuncRoots,
|
|
_FuncUnOp,
|
|
_FuncVal,
|
|
_FuncVal2D,
|
|
_FuncVal3D,
|
|
_FuncValFromRoots,
|
|
_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",
|
|
]
|
|
|
|
poly2herm: _FuncPoly2Ortho[L["poly2herm"]]
|
|
herm2poly: _FuncUnOp[L["herm2poly"]]
|
|
|
|
hermdomain: Final[_Array2[np.float64]]
|
|
hermzero: Final[_Array1[np.int_]]
|
|
hermone: Final[_Array1[np.int_]]
|
|
hermx: Final[_Array2[np.int_]]
|
|
|
|
hermline: _FuncLine[L["hermline"]]
|
|
hermfromroots: _FuncFromRoots[L["hermfromroots"]]
|
|
hermadd: _FuncBinOp[L["hermadd"]]
|
|
hermsub: _FuncBinOp[L["hermsub"]]
|
|
hermmulx: _FuncUnOp[L["hermmulx"]]
|
|
hermmul: _FuncBinOp[L["hermmul"]]
|
|
hermdiv: _FuncBinOp[L["hermdiv"]]
|
|
hermpow: _FuncPow[L["hermpow"]]
|
|
hermder: _FuncDer[L["hermder"]]
|
|
hermint: _FuncInteg[L["hermint"]]
|
|
hermval: _FuncVal[L["hermval"]]
|
|
hermval2d: _FuncVal2D[L["hermval2d"]]
|
|
hermval3d: _FuncVal3D[L["hermval3d"]]
|
|
hermvalfromroots: _FuncValFromRoots[L["hermvalfromroots"]]
|
|
hermgrid2d: _FuncVal2D[L["hermgrid2d"]]
|
|
hermgrid3d: _FuncVal3D[L["hermgrid3d"]]
|
|
hermvander: _FuncVander[L["hermvander"]]
|
|
hermvander2d: _FuncVander2D[L["hermvander2d"]]
|
|
hermvander3d: _FuncVander3D[L["hermvander3d"]]
|
|
hermfit: _FuncFit[L["hermfit"]]
|
|
hermcompanion: _FuncCompanion[L["hermcompanion"]]
|
|
hermroots: _FuncRoots[L["hermroots"]]
|
|
|
|
_ND = TypeVar("_ND", bound=Any)
|
|
def _normed_hermite_n(
|
|
x: np.ndarray[_ND, np.dtype[np.float64]],
|
|
n: int | np.intp,
|
|
) -> np.ndarray[_ND, np.dtype[np.float64]]: ...
|
|
|
|
hermgauss: _FuncGauss[L["hermgauss"]]
|
|
hermweight: _FuncWeight[L["hermweight"]]
|
|
|
|
class Hermite(ABCPolyBase[L["H"]]): ...
|