|
from typing import Any, Literal, TypeAlias, TypeVar, overload |
|
|
|
import numpy as np |
|
import numpy.typing as npt |
|
|
|
# ruff: noqa: F401 |
|
from numpy import ( |
|
False_, |
|
ScalarType, |
|
True_, |
|
__array_namespace_info__, |
|
__version__, |
|
abs, |
|
absolute, |
|
acos, |
|
acosh, |
|
add, |
|
all, |
|
allclose, |
|
amax, |
|
amin, |
|
angle, |
|
any, |
|
append, |
|
apply_along_axis, |
|
apply_over_axes, |
|
arange, |
|
arccos, |
|
arccosh, |
|
arcsin, |
|
arcsinh, |
|
arctan, |
|
arctan2, |
|
arctanh, |
|
argmax, |
|
argmin, |
|
argpartition, |
|
argsort, |
|
argwhere, |
|
around, |
|
array, |
|
array2string, |
|
array_equal, |
|
array_equiv, |
|
array_repr, |
|
array_split, |
|
array_str, |
|
asanyarray, |
|
asarray, |
|
asarray_chkfinite, |
|
ascontiguousarray, |
|
asfortranarray, |
|
asin, |
|
asinh, |
|
asmatrix, |
|
astype, |
|
atan, |
|
atan2, |
|
atanh, |
|
atleast_1d, |
|
atleast_2d, |
|
atleast_3d, |
|
average, |
|
bartlett, |
|
base_repr, |
|
binary_repr, |
|
bincount, |
|
bitwise_and, |
|
bitwise_count, |
|
bitwise_invert, |
|
bitwise_left_shift, |
|
bitwise_not, |
|
bitwise_or, |
|
bitwise_right_shift, |
|
bitwise_xor, |
|
blackman, |
|
block, |
|
bmat, |
|
bool, |
|
bool_, |
|
broadcast, |
|
broadcast_arrays, |
|
broadcast_shapes, |
|
broadcast_to, |
|
busday_count, |
|
busday_offset, |
|
busdaycalendar, |
|
byte, |
|
bytes_, |
|
c_, |
|
can_cast, |
|
cbrt, |
|
cdouble, |
|
ceil, |
|
char, |
|
character, |
|
choose, |
|
clip, |
|
clongdouble, |
|
column_stack, |
|
common_type, |
|
complex64, |
|
complex128, |
|
complex256, |
|
complexfloating, |
|
compress, |
|
concat, |
|
concatenate, |
|
conj, |
|
conjugate, |
|
convolve, |
|
copy, |
|
copysign, |
|
copyto, |
|
core, |
|
corrcoef, |
|
correlate, |
|
cos, |
|
cosh, |
|
count_nonzero, |
|
cov, |
|
cross, |
|
csingle, |
|
ctypeslib, |
|
cumprod, |
|
cumsum, |
|
cumulative_prod, |
|
cumulative_sum, |
|
datetime64, |
|
datetime_as_string, |
|
datetime_data, |
|
deg2rad, |
|
degrees, |
|
delete, |
|
diag, |
|
diag_indices, |
|
diag_indices_from, |
|
diagflat, |
|
diagonal, |
|
diff, |
|
digitize, |
|
divide, |
|
divmod, |
|
dot, |
|
double, |
|
dsplit, |
|
dstack, |
|
dtype, |
|
dtypes, |
|
e, |
|
ediff1d, |
|
einsum, |
|
einsum_path, |
|
emath, |
|
empty_like, |
|
equal, |
|
errstate, |
|
euler_gamma, |
|
exceptions, |
|
exp, |
|
exp2, |
|
expand_dims, |
|
expm1, |
|
extract, |
|
f2py, |
|
fabs, |
|
fft, |
|
fill_diagonal, |
|
finfo, |
|
fix, |
|
flatiter, |
|
flatnonzero, |
|
flexible, |
|
flip, |
|
fliplr, |
|
flipud, |
|
float16, |
|
float32, |
|
float64, |
|
float128, |
|
float_power, |
|
floating, |
|
floor, |
|
floor_divide, |
|
fmax, |
|
fmin, |
|
fmod, |
|
format_float_positional, |
|
format_float_scientific, |
|
frexp, |
|
from_dlpack, |
|
frombuffer, |
|
fromfile, |
|
fromfunction, |
|
fromiter, |
|
frompyfunc, |
|
fromregex, |
|
fromstring, |
|
full, |
|
full_like, |
|
gcd, |
|
generic, |
|
genfromtxt, |
|
geomspace, |
|
get_include, |
|
get_printoptions, |
|
getbufsize, |
|
geterr, |
|
geterrcall, |
|
gradient, |
|
greater, |
|
greater_equal, |
|
half, |
|
hamming, |
|
hanning, |
|
heaviside, |
|
histogram, |
|
histogram2d, |
|
histogram_bin_edges, |
|
histogramdd, |
|
hsplit, |
|
hstack, |
|
hypot, |
|
i0, |
|
iinfo, |
|
imag, |
|
in1d, |
|
index_exp, |
|
indices, |
|
inexact, |
|
inf, |
|
info, |
|
inner, |
|
insert, |
|
int8, |
|
int16, |
|
int32, |
|
int64, |
|
int_, |
|
intc, |
|
integer, |
|
interp, |
|
intersect1d, |
|
intp, |
|
invert, |
|
is_busday, |
|
isclose, |
|
iscomplex, |
|
iscomplexobj, |
|
isdtype, |
|
isfinite, |
|
isfortran, |
|
isin, |
|
isinf, |
|
isnan, |
|
isnat, |
|
isneginf, |
|
isposinf, |
|
isreal, |
|
isrealobj, |
|
isscalar, |
|
issubdtype, |
|
iterable, |
|
ix_, |
|
kaiser, |
|
kron, |
|
lcm, |
|
ldexp, |
|
left_shift, |
|
less, |
|
less_equal, |
|
lexsort, |
|
lib, |
|
linalg, |
|
linspace, |
|
little_endian, |
|
load, |
|
loadtxt, |
|
log, |
|
log1p, |
|
log2, |
|
log10, |
|
logaddexp, |
|
logaddexp2, |
|
logical_and, |
|
logical_not, |
|
logical_or, |
|
logical_xor, |
|
logspace, |
|
long, |
|
longdouble, |
|
longlong, |
|
ma, |
|
mask_indices, |
|
matmul, |
|
matrix, |
|
matrix_transpose, |
|
matvec, |
|
max, |
|
maximum, |
|
may_share_memory, |
|
mean, |
|
median, |
|
memmap, |
|
meshgrid, |
|
mgrid, |
|
min, |
|
min_scalar_type, |
|
minimum, |
|
mintypecode, |
|
mod, |
|
modf, |
|
moveaxis, |
|
multiply, |
|
nan, |
|
nan_to_num, |
|
nanargmax, |
|
nanargmin, |
|
nancumprod, |
|
nancumsum, |
|
nanmax, |
|
nanmean, |
|
nanmedian, |
|
nanmin, |
|
nanpercentile, |
|
nanprod, |
|
nanquantile, |
|
nanstd, |
|
nansum, |
|
nanvar, |
|
ndarray, |
|
ndenumerate, |
|
ndim, |
|
ndindex, |
|
nditer, |
|
negative, |
|
nested_iters, |
|
newaxis, |
|
nextafter, |
|
nonzero, |
|
not_equal, |
|
number, |
|
object_, |
|
ogrid, |
|
ones_like, |
|
outer, |
|
packbits, |
|
pad, |
|
partition, |
|
percentile, |
|
permute_dims, |
|
pi, |
|
piecewise, |
|
place, |
|
poly, |
|
poly1d, |
|
polyadd, |
|
polyder, |
|
polydiv, |
|
polyfit, |
|
polyint, |
|
polymul, |
|
polynomial, |
|
polysub, |
|
polyval, |
|
positive, |
|
pow, |
|
power, |
|
printoptions, |
|
prod, |
|
promote_types, |
|
ptp, |
|
put, |
|
put_along_axis, |
|
putmask, |
|
quantile, |
|
r_, |
|
rad2deg, |
|
radians, |
|
random, |
|
ravel, |
|
ravel_multi_index, |
|
real, |
|
real_if_close, |
|
rec, |
|
recarray, |
|
reciprocal, |
|
record, |
|
remainder, |
|
repeat, |
|
require, |
|
reshape, |
|
resize, |
|
result_type, |
|
right_shift, |
|
rint, |
|
roll, |
|
rollaxis, |
|
roots, |
|
rot90, |
|
round, |
|
row_stack, |
|
s_, |
|
save, |
|
savetxt, |
|
savez, |
|
savez_compressed, |
|
sctypeDict, |
|
searchsorted, |
|
select, |
|
set_printoptions, |
|
setbufsize, |
|
setdiff1d, |
|
seterr, |
|
seterrcall, |
|
setxor1d, |
|
shape, |
|
shares_memory, |
|
short, |
|
show_config, |
|
show_runtime, |
|
sign, |
|
signbit, |
|
signedinteger, |
|
sin, |
|
sinc, |
|
single, |
|
sinh, |
|
size, |
|
sort, |
|
sort_complex, |
|
spacing, |
|
split, |
|
sqrt, |
|
square, |
|
squeeze, |
|
stack, |
|
std, |
|
str_, |
|
strings, |
|
subtract, |
|
sum, |
|
swapaxes, |
|
take, |
|
take_along_axis, |
|
tan, |
|
tanh, |
|
tensordot, |
|
test, |
|
testing, |
|
tile, |
|
timedelta64, |
|
trace, |
|
transpose, |
|
trapezoid, |
|
trapz, |
|
tri, |
|
tril, |
|
tril_indices, |
|
tril_indices_from, |
|
trim_zeros, |
|
triu, |
|
triu_indices, |
|
triu_indices_from, |
|
true_divide, |
|
trunc, |
|
typecodes, |
|
typename, |
|
typing, |
|
ubyte, |
|
ufunc, |
|
uint, |
|
uint8, |
|
uint16, |
|
uint32, |
|
uint64, |
|
uintc, |
|
uintp, |
|
ulong, |
|
ulonglong, |
|
union1d, |
|
unique, |
|
unique_all, |
|
unique_counts, |
|
unique_inverse, |
|
unique_values, |
|
unpackbits, |
|
unravel_index, |
|
unsignedinteger, |
|
unstack, |
|
unwrap, |
|
ushort, |
|
vander, |
|
var, |
|
vdot, |
|
vecdot, |
|
vecmat, |
|
vectorize, |
|
void, |
|
vsplit, |
|
vstack, |
|
where, |
|
zeros_like, |
|
) |
|
from numpy._typing import _ArrayLike, _DTypeLike |
|
|
|
__all__ = ["rand", "randn", "repmat"] |
|
__all__ += np.__all__ |
|
|
|
### |
|
|
|
_T = TypeVar("_T", bound=np.generic) |
|
_Matrix: TypeAlias = np.matrix[tuple[int, int], np.dtype[_T]] |
|
_Order: TypeAlias = Literal["C", "F"] |
|
|
|
### |
|
|
|
# ruff: noqa: F811 |
|
|
|
# |
|
@overload |
|
def empty(shape: int | tuple[int, int], dtype: None = None, order: _Order = "C") -> _Matrix[np.float64]: ... |
|
@overload |
|
def empty(shape: int | tuple[int, int], dtype: _DTypeLike[_T], order: _Order = "C") -> _Matrix[_T]: ... |
|
@overload |
|
def empty(shape: int | tuple[int, int], dtype: npt.DTypeLike, order: _Order = "C") -> _Matrix[Any]: ... |
|
|
|
# |
|
@overload |
|
def ones(shape: int | tuple[int, int], dtype: None = None, order: _Order = "C") -> _Matrix[np.float64]: ... |
|
@overload |
|
def ones(shape: int | tuple[int, int], dtype: _DTypeLike[_T], order: _Order = "C") -> _Matrix[_T]: ... |
|
@overload |
|
def ones(shape: int | tuple[int, int], dtype: npt.DTypeLike, order: _Order = "C") -> _Matrix[Any]: ... |
|
|
|
# |
|
@overload |
|
def zeros(shape: int | tuple[int, int], dtype: None = None, order: _Order = "C") -> _Matrix[np.float64]: ... |
|
@overload |
|
def zeros(shape: int | tuple[int, int], dtype: _DTypeLike[_T], order: _Order = "C") -> _Matrix[_T]: ... |
|
@overload |
|
def zeros(shape: int | tuple[int, int], dtype: npt.DTypeLike, order: _Order = "C") -> _Matrix[Any]: ... |
|
|
|
# |
|
@overload |
|
def identity(n: int, dtype: None = None) -> _Matrix[np.float64]: ... |
|
@overload |
|
def identity(n: int, dtype: _DTypeLike[_T]) -> _Matrix[_T]: ... |
|
@overload |
|
def identity(n: int, dtype: npt.DTypeLike | None = None) -> _Matrix[Any]: ... |
|
|
|
# |
|
@overload |
|
def eye( |
|
n: int, |
|
M: int | None = None, |
|
k: int = 0, |
|
dtype: type[np.float64] | None = ..., |
|
order: _Order = "C", |
|
) -> _Matrix[np.float64]: ... |
|
@overload |
|
def eye(n: int, M: int | None, k: int, dtype: _DTypeLike[_T], order: _Order = "C") -> _Matrix[_T]: ... |
|
@overload |
|
def eye(n: int, M: int | None = None, k: int = 0, *, dtype: _DTypeLike[_T], order: _Order = "C") -> _Matrix[_T]: ... |
|
@overload |
|
def eye(n: int, M: int | None = None, k: int = 0, dtype: npt.DTypeLike = ..., order: _Order = "C") -> _Matrix[Any]: ... |
|
|
|
# |
|
@overload |
|
def rand(arg: int | tuple[()] | tuple[int] | tuple[int, int], /) -> _Matrix[np.float64]: ... |
|
@overload |
|
def rand(arg: int, /, *args: int) -> _Matrix[np.float64]: ... |
|
|
|
# |
|
@overload |
|
def randn(arg: int | tuple[()] | tuple[int] | tuple[int, int], /) -> _Matrix[np.float64]: ... |
|
@overload |
|
def randn(arg: int, /, *args: int) -> _Matrix[np.float64]: ... |
|
|
|
# |
|
@overload |
|
def repmat(a: _Matrix[_T], m: int, n: int) -> _Matrix[_T]: ... |
|
@overload |
|
def repmat(a: _ArrayLike[_T], m: int, n: int) -> npt.NDArray[_T]: ... |
|
@overload |
|
def repmat(a: npt.ArrayLike, m: int, n: int) -> npt.NDArray[Any]: ... |
|
|