from __future__ import annotations
from typing import Any, Dict, List, Optional, Protocol, Sequence, Tuple, Union, runtime_checkable
import numpy as np
from numpy.typing import ArrayLike, NDArray
Float64Array = NDArray[np.float64]
Float32Array = NDArray[np.float32]
IntArray = NDArray[np.int64]
@runtime_checkable
class ArrayProtocol(Protocol):
def __array__(self, dtype: Optional[np.dtype[Any]] = None) -> np.ndarray[Any, Any]: ...
@runtime_checkable
class DLPackProtocol(Protocol):
def __dlpack__(self, *, stream: Optional[int] = None) -> Any: ...
def __dlpack_device__(self) -> Tuple[int, int]: ...
@runtime_checkable
class DataFrameProtocol(Protocol):
@property
def values(self) -> np.ndarray[Any, Any]: ...
@property
def columns(self) -> Any: ...
def to_numpy(self) -> np.ndarray[Any, Any]: ...
@runtime_checkable
class FittedModel(Protocol):
def predict(self, X: ArrayLike) -> NDArray[np.float64]: ...
def fit(self, X: ArrayLike, y: Optional[ArrayLike] = None) -> "FittedModel": ...
@runtime_checkable
class Transformer(Protocol):
def fit(self, X: ArrayLike) -> "Transformer": ...
def transform(self, X: ArrayLike) -> NDArray[np.float64]: ...
def fit_transform(self, X: ArrayLike) -> NDArray[np.float64]: ...
Vec = NDArray[np.float64]
Mat = NDArray[np.float64]
SparseMatrix = Any
__version__: str
__author__: str
class KMeans:
labels: NDArray[np.int32]
inertia_: float
def __init__(self, n_clusters: int) -> None: ...
def fit(self, data: NDArray[np.float64]) -> None: ...
def predict(self, data: NDArray[np.float64]) -> NDArray[np.int32]: ...
def det_py(matrix: NDArray[np.float64]) -> float: ...
def inv_py(matrix: NDArray[np.float64]) -> NDArray[np.float64]: ...
def trace_py(matrix: NDArray[np.float64]) -> float: ...
def solve_py(
a: NDArray[np.float64],
b: NDArray[np.float64],
) -> NDArray[np.float64]: ...
def eig_py(
matrix: NDArray[np.float64],
) -> Tuple[NDArray[np.complex128], NDArray[np.complex128]]: ...
def svd_py(
matrix: NDArray[np.float64],
full_matrices: bool = True,
) -> Tuple[NDArray[np.float64], NDArray[np.float64], NDArray[np.float64]]: ...
def fft_py(x: ArrayLike, n: Optional[int] = None) -> NDArray[np.complex128]: ...
def ifft_py(x: ArrayLike, n: Optional[int] = None) -> NDArray[np.complex128]: ...
def rfft_py(x: ArrayLike, n: Optional[int] = None) -> NDArray[np.complex128]: ...
def irfft_py(x: ArrayLike, n: Optional[int] = None) -> NDArray[np.float64]: ...
def fftfreq_py(n: int, d: float = 1.0) -> NDArray[np.float64]: ...
def rfftfreq_py(n: int, d: float = 1.0) -> NDArray[np.float64]: ...
def mean_py(data: ArrayLike, axis: Optional[int] = None) -> Union[float, NDArray[np.float64]]: ...
def std_py(data: ArrayLike, axis: Optional[int] = None) -> Union[float, NDArray[np.float64]]: ...
def var_py(data: ArrayLike, axis: Optional[int] = None) -> Union[float, NDArray[np.float64]]: ...
def median_py(data: ArrayLike) -> float: ...
def describe_py(data: NDArray[np.float64]) -> Dict[str, float]: ...
def minimize_py(
fun: Any,
x0: ArrayLike,
method: str = "L-BFGS-B",
tol: Optional[float] = None,
maxiter: Optional[int] = None,
) -> Dict[str, Any]: ...
def quad_py(
fun: Any,
a: float,
b: float,
) -> Tuple[float, float]: ...
def solve_ivp_py(
fun: Any,
t_span: Tuple[float, float],
y0: ArrayLike,
method: str = "RK45",
t_eval: Optional[ArrayLike] = None,
rtol: float = 1e-3,
atol: float = 1e-6,
) -> Dict[str, Any]: ...
def interp1d_py(
x: ArrayLike,
y: ArrayLike,
kind: str = "linear",
) -> Any: ...
def butter_py(
N: int,
Wn: Union[float, Sequence[float]],
btype: str = "low",
fs: Optional[float] = None,
) -> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
def sosfilt_py(
sos: NDArray[np.float64],
x: NDArray[np.float64],
) -> NDArray[np.float64]: ...
def from_dlpack(capsule: Any) -> NDArray[np.float64]:
...
def to_dlpack(array: NDArray[np.float64]) -> Any:
...