101 lines
2.3 KiB
Python
101 lines
2.3 KiB
Python
from typing import Any, ClassVar, Final, Literal as L
|
|
|
|
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,
|
|
_FuncVander,
|
|
_FuncVander2D,
|
|
_FuncVander3D,
|
|
_FuncWeight,
|
|
)
|
|
from .polyutils import trimcoef as legtrim
|
|
|
|
__all__ = [
|
|
"legzero",
|
|
"legone",
|
|
"legx",
|
|
"legdomain",
|
|
"legline",
|
|
"legadd",
|
|
"legsub",
|
|
"legmulx",
|
|
"legmul",
|
|
"legdiv",
|
|
"legpow",
|
|
"legval",
|
|
"legder",
|
|
"legint",
|
|
"leg2poly",
|
|
"poly2leg",
|
|
"legfromroots",
|
|
"legvander",
|
|
"legfit",
|
|
"legtrim",
|
|
"legroots",
|
|
"Legendre",
|
|
"legval2d",
|
|
"legval3d",
|
|
"leggrid2d",
|
|
"leggrid3d",
|
|
"legvander2d",
|
|
"legvander3d",
|
|
"legcompanion",
|
|
"leggauss",
|
|
"legweight",
|
|
]
|
|
|
|
poly2leg: Final[_FuncPoly2Ortho] = ...
|
|
leg2poly: Final[_FuncUnOp] = ...
|
|
|
|
legdomain: Final[_Array2[np.float64]] = ...
|
|
legzero: Final[_Array1[np.int_]] = ...
|
|
legone: Final[_Array1[np.int_]] = ...
|
|
legx: Final[_Array2[np.int_]] = ...
|
|
|
|
legline: Final[_FuncLine] = ...
|
|
legfromroots: Final[_FuncFromRoots] = ...
|
|
legadd: Final[_FuncBinOp] = ...
|
|
legsub: Final[_FuncBinOp] = ...
|
|
legmulx: Final[_FuncUnOp] = ...
|
|
legmul: Final[_FuncBinOp] = ...
|
|
legdiv: Final[_FuncBinOp] = ...
|
|
legpow: Final[_FuncPow] = ...
|
|
legder: Final[_FuncDer] = ...
|
|
legint: Final[_FuncInteg] = ...
|
|
legval: Final[_FuncVal] = ...
|
|
legval2d: Final[_FuncVal2D] = ...
|
|
legval3d: Final[_FuncVal3D] = ...
|
|
leggrid2d: Final[_FuncVal2D] = ...
|
|
leggrid3d: Final[_FuncVal3D] = ...
|
|
legvander: Final[_FuncVander] = ...
|
|
legvander2d: Final[_FuncVander2D] = ...
|
|
legvander3d: Final[_FuncVander3D] = ...
|
|
legfit: Final[_FuncFit] = ...
|
|
legcompanion: Final[_FuncCompanion] = ...
|
|
legroots: Final[_FuncRoots] = ...
|
|
leggauss: Final[_FuncGauss] = ...
|
|
legweight: Final[_FuncWeight] = ...
|
|
|
|
class Legendre(ABCPolyBase[L["P"]]):
|
|
basis_name: ClassVar[L["P"]] = "P" # pyright: ignore[reportIncompatibleMethodOverride]
|
|
domain: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride]
|
|
window: _Array2[np.float64 | Any] = ... # pyright: ignore[reportIncompatibleMethodOverride]
|