@@ -215,7 +215,7 @@ from typing import (
215
215
# if not available at runtime. This is because the `typeshed` stubs for the standard
216
216
# library include `typing_extensions` stubs:
217
217
# https://github.com/python/typeshed/blob/main/stdlib/typing_extensions.pyi
218
- from _typeshed import StrOrBytesPath , SupportsFlush , SupportsLenAndGetItem , SupportsWrite
218
+ from _typeshed import Incomplete , StrOrBytesPath , SupportsFlush , SupportsLenAndGetItem , SupportsWrite
219
219
from typing_extensions import CapsuleType , TypeVar
220
220
221
221
from numpy import (
@@ -5253,146 +5253,189 @@ class poly1d:
5253
5253
) -> poly1d : ...
5254
5254
5255
5255
class matrix (ndarray [_2DShapeT_co , _DTypeT_co ]):
5256
- __array_priority__ : ClassVar [float ]
5256
+ __array_priority__ : ClassVar [float ] = 10.0 # pyright: ignore[reportIncompatibleMethodOverride]
5257
+
5257
5258
def __new__ (
5258
- subtype ,
5259
+ subtype , # pyright: ignore[reportSelfClsParameterName]
5259
5260
data : ArrayLike ,
5260
5261
dtype : DTypeLike = ...,
5261
5262
copy : builtins .bool = ...,
5262
- ) -> matrix [_2D , Any ]: ...
5263
+ ) -> matrix [_2D , Incomplete ]: ...
5263
5264
def __array_finalize__ (self , obj : object ) -> None : ...
5264
5265
5265
- @overload
5266
+ @overload # type: ignore[override]
5266
5267
def __getitem__ (
5267
- self ,
5268
- key : (
5269
- SupportsIndex
5270
- | _ArrayLikeInt_co
5271
- | tuple [SupportsIndex | _ArrayLikeInt_co , ...]
5272
- ),
5273
- / ,
5274
- ) -> Any : ...
5268
+ self , key : SupportsIndex | _ArrayLikeInt_co | tuple [SupportsIndex | _ArrayLikeInt_co , ...], /
5269
+ ) -> Incomplete : ...
5275
5270
@overload
5276
- def __getitem__ (
5277
- self ,
5278
- key : slice | EllipsisType | SupportsIndex | _ArrayLikeInt_co | tuple [slice | EllipsisType | _ArrayLikeInt_co | SupportsIndex | None , ...] | None ,
5279
- / ,
5280
- ) -> matrix [_2D , _DTypeT_co ]: ...
5271
+ def __getitem__ (self , key : _ToIndices , / ) -> matrix [_2D , _DTypeT_co ]: ...
5281
5272
@overload
5282
- def __getitem__ (self : NDArray [ void ], key : str , / ) -> matrix [_2D , dtype ]: ...
5273
+ def __getitem__ (self : matrix [ Any , dtype [ void ] ], key : str , / ) -> matrix [_2D , dtype ]: ...
5283
5274
@overload
5284
- def __getitem__ (self : NDArray [ void ], key : list [str ], / ) -> matrix [_2DShapeT_co , dtype [ void ]] : ...
5275
+ def __getitem__ (self : matrix [ Any , dtype [ void ]] , key : list [str ], / ) -> matrix [_2DShapeT_co , _DTypeT_co ] : ... # pyright: ignore[reportIncompatibleMethodOverride]
5285
5276
5286
- def __mul__ (self , other : ArrayLike , / ) -> matrix [_2D , Any ]: ...
5287
- def __rmul__ (self , other : ArrayLike , / ) -> matrix [_2D , Any ]: ...
5288
- def __imul__ (self , other : ArrayLike , / ) -> matrix [_2DShapeT_co , _DTypeT_co ]: ...
5289
- def __pow__ (self , other : ArrayLike , mod : None = None , / ) -> matrix [_2D , Any ]: ...
5290
- def __rpow__ (self , other : ArrayLike , mod : None = None , / ) -> matrix [_2D , Any ]: ...
5291
- def __ipow__ (self , other : ArrayLike , / ) -> matrix [_2DShapeT_co , _DTypeT_co ]: ...
5277
+ #
5278
+ def __mul__ (self , other : ArrayLike , / ) -> matrix [_2D , Incomplete ]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
5279
+ def __rmul__ (self , other : ArrayLike , / ) -> matrix [_2D , Incomplete ]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
5280
+ def __imul__ (self , other : ArrayLike , / ) -> Self : ...
5281
+
5282
+ #
5283
+ def __pow__ (self , other : ArrayLike , mod : None = None , / ) -> matrix [_2D , Incomplete ]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
5284
+ def __rpow__ (self , other : ArrayLike , mod : None = None , / ) -> matrix [_2D , Incomplete ]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
5285
+ def __ipow__ (self , other : ArrayLike , / ) -> Self : ... # type: ignore[misc, override]
5292
5286
5287
+ # keep in sync with `prod` and `mean`
5288
+ @overload # type: ignore[override]
5289
+ def sum (self , axis : None = None , dtype : DTypeLike | None = None , out : None = None ) -> Incomplete : ...
5293
5290
@overload
5294
- def sum (self , axis : None = ... , dtype : DTypeLike = ... , out : None = ... ) -> Any : ...
5291
+ def sum (self , axis : _ShapeLike , dtype : DTypeLike | None = None , out : None = None ) -> matrix [ _2D , Incomplete ] : ...
5295
5292
@overload
5296
- def sum (self , axis : _ShapeLike , dtype : DTypeLike = ... , out : None = ... ) -> matrix [ _2D , Any ] : ...
5293
+ def sum (self , axis : _ShapeLike | None , dtype : DTypeLike | None , out : _ArrayT ) -> _ArrayT : ...
5297
5294
@overload
5298
- def sum (self , axis : _ShapeLike | None = ... , dtype : DTypeLike = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5295
+ def sum (self , axis : _ShapeLike | None = None , dtype : DTypeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5299
5296
5297
+ # keep in sync with `sum` and `mean`
5298
+ @overload # type: ignore[override]
5299
+ def prod (self , axis : None = None , dtype : DTypeLike | None = None , out : None = None ) -> Incomplete : ...
5300
5300
@overload
5301
- def mean (self , axis : None = ... , dtype : DTypeLike = ... , out : None = ... ) -> Any : ...
5301
+ def prod (self , axis : _ShapeLike , dtype : DTypeLike | None = None , out : None = None ) -> matrix [ _2D , Incomplete ] : ...
5302
5302
@overload
5303
- def mean (self , axis : _ShapeLike , dtype : DTypeLike = ... , out : None = ... ) -> matrix [ _2D , Any ] : ...
5303
+ def prod (self , axis : _ShapeLike | None , dtype : DTypeLike | None , out : _ArrayT ) -> _ArrayT : ...
5304
5304
@overload
5305
- def mean (self , axis : _ShapeLike | None = ... , dtype : DTypeLike = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5305
+ def prod (self , axis : _ShapeLike | None = None , dtype : DTypeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5306
5306
5307
+ # keep in sync with `sum` and `prod`
5308
+ @overload # type: ignore[override]
5309
+ def mean (self , axis : None = None , dtype : DTypeLike | None = None , out : None = None ) -> Incomplete : ...
5307
5310
@overload
5308
- def std (self , axis : None = ... , dtype : DTypeLike = ..., out : None = ..., ddof : float = ... ) -> Any : ...
5311
+ def mean (self , axis : _ShapeLike , dtype : DTypeLike | None = None , out : None = None ) -> matrix [ _2D , Incomplete ] : ...
5309
5312
@overload
5310
- def std (self , axis : _ShapeLike , dtype : DTypeLike = ... , out : None = ..., ddof : float = ... ) -> matrix [ _2D , Any ] : ...
5313
+ def mean (self , axis : _ShapeLike | None , dtype : DTypeLike | None , out : _ArrayT ) -> _ArrayT : ...
5311
5314
@overload
5312
- def std (self , axis : _ShapeLike | None = ... , dtype : DTypeLike = ..., out : _ArrayT = ..., ddof : float = ... ) -> _ArrayT : ...
5315
+ def mean (self , axis : _ShapeLike | None = None , dtype : DTypeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5313
5316
5317
+ # keep in sync with `var`
5318
+ @overload # type: ignore[override]
5319
+ def std (self , axis : None = None , dtype : DTypeLike | None = None , out : None = None , ddof : float = 0 ) -> Incomplete : ...
5314
5320
@overload
5315
- def var (self , axis : None = ..., dtype : DTypeLike = ..., out : None = ..., ddof : float = ...) -> Any : ...
5321
+ def std (
5322
+ self , axis : _ShapeLike , dtype : DTypeLike | None = None , out : None = None , ddof : float = 0
5323
+ ) -> matrix [_2D , Incomplete ]: ...
5316
5324
@overload
5317
- def var (self , axis : _ShapeLike , dtype : DTypeLike = ... , out : None = ... , ddof : float = ... ) -> matrix [ _2D , Any ] : ...
5325
+ def std (self , axis : _ShapeLike | None , dtype : DTypeLike | None , out : _ArrayT , ddof : float = 0 ) -> _ArrayT : ...
5318
5326
@overload
5319
- def var (self , axis : _ShapeLike | None = ..., dtype : DTypeLike = ..., out : _ArrayT = ..., ddof : float = ...) -> _ArrayT : ...
5327
+ def std ( # pyright: ignore[reportIncompatibleMethodOverride]
5328
+ self , axis : _ShapeLike | None = None , dtype : DTypeLike | None = None , * , out : _ArrayT , ddof : float = 0
5329
+ ) -> _ArrayT : ...
5320
5330
5331
+ # keep in sync with `std`
5332
+ @overload # type: ignore[override]
5333
+ def var (self , axis : None = None , dtype : DTypeLike | None = None , out : None = None , ddof : float = 0 ) -> Incomplete : ...
5321
5334
@overload
5322
- def prod (self , axis : None = ..., dtype : DTypeLike = ..., out : None = ...) -> Any : ...
5335
+ def var (
5336
+ self , axis : _ShapeLike , dtype : DTypeLike | None = None , out : None = None , ddof : float = 0
5337
+ ) -> matrix [_2D , Incomplete ]: ...
5323
5338
@overload
5324
- def prod (self , axis : _ShapeLike , dtype : DTypeLike = ... , out : None = ... ) -> matrix [ _2D , Any ] : ...
5339
+ def var (self , axis : _ShapeLike | None , dtype : DTypeLike | None , out : _ArrayT , ddof : float = 0 ) -> _ArrayT : ...
5325
5340
@overload
5326
- def prod (self , axis : _ShapeLike | None = ..., dtype : DTypeLike = ..., out : _ArrayT = ...) -> _ArrayT : ...
5341
+ def var ( # pyright: ignore[reportIncompatibleMethodOverride]
5342
+ self , axis : _ShapeLike | None = None , dtype : DTypeLike | None = None , * , out : _ArrayT , ddof : float = 0
5343
+ ) -> _ArrayT : ...
5327
5344
5345
+ # keep in sync with `all`
5346
+ @overload # type: ignore[override]
5347
+ def any (self , axis : None = None , out : None = None ) -> np .bool : ...
5328
5348
@overload
5329
- def any (self , axis : None = ... , out : None = ... ) -> np .bool : ...
5349
+ def any (self , axis : _ShapeLike , out : None = None ) -> matrix [ _2D , dtype [ np .bool ]] : ...
5330
5350
@overload
5331
- def any (self , axis : _ShapeLike , out : None = ... ) -> matrix [ _2D , dtype [ np . bool ]] : ...
5351
+ def any (self , axis : _ShapeLike | None , out : _ArrayT ) -> _ArrayT : ...
5332
5352
@overload
5333
- def any (self , axis : _ShapeLike | None = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5353
+ def any (self , axis : _ShapeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5334
5354
5355
+ # keep in sync with `any`
5356
+ @overload # type: ignore[override]
5357
+ def all (self , axis : None = None , out : None = None ) -> np .bool : ...
5335
5358
@overload
5336
- def all (self , axis : None = ... , out : None = ... ) -> np .bool : ...
5359
+ def all (self , axis : _ShapeLike , out : None = None ) -> matrix [ _2D , dtype [ np .bool ]] : ...
5337
5360
@overload
5338
- def all (self , axis : _ShapeLike , out : None = ... ) -> matrix [ _2D , dtype [ np . bool ]] : ...
5361
+ def all (self , axis : _ShapeLike | None , out : _ArrayT ) -> _ArrayT : ...
5339
5362
@overload
5340
- def all (self , axis : _ShapeLike | None = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5363
+ def all (self , axis : _ShapeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5341
5364
5365
+ # keep in sync with `min` and `ptp`
5366
+ @overload # type: ignore[override]
5367
+ def max (self : NDArray [_ScalarT ], axis : None = None , out : None = None ) -> _ScalarT : ...
5342
5368
@overload
5343
- def max (self : NDArray [ _ScalarT ] , axis : None = ... , out : None = ... ) -> _ScalarT : ...
5369
+ def max (self , axis : _ShapeLike , out : None = None ) -> matrix [ _2D , _DTypeT_co ] : ...
5344
5370
@overload
5345
- def max (self , axis : _ShapeLike , out : None = ... ) -> matrix [ _2D , _DTypeT_co ] : ...
5371
+ def max (self , axis : _ShapeLike | None , out : _ArrayT ) -> _ArrayT : ...
5346
5372
@overload
5347
- def max (self , axis : _ShapeLike | None = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5373
+ def max (self , axis : _ShapeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5348
5374
5375
+ # keep in sync with `max` and `ptp`
5376
+ @overload # type: ignore[override]
5377
+ def min (self : NDArray [_ScalarT ], axis : None = None , out : None = None ) -> _ScalarT : ...
5349
5378
@overload
5350
- def min (self : NDArray [ _ScalarT ] , axis : None = ... , out : None = ... ) -> _ScalarT : ...
5379
+ def min (self , axis : _ShapeLike , out : None = None ) -> matrix [ _2D , _DTypeT_co ] : ...
5351
5380
@overload
5352
- def min (self , axis : _ShapeLike , out : None = ... ) -> matrix [ _2D , _DTypeT_co ] : ...
5381
+ def min (self , axis : _ShapeLike | None , out : _ArrayT ) -> _ArrayT : ...
5353
5382
@overload
5354
- def min (self , axis : _ShapeLike | None = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5383
+ def min (self , axis : _ShapeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5355
5384
5385
+ # keep in sync with `max` and `min`
5356
5386
@overload
5357
- def argmax (self : NDArray [_ScalarT ], axis : None = ... , out : None = ... ) -> intp : ...
5387
+ def ptp (self : NDArray [_ScalarT ], axis : None = None , out : None = None ) -> _ScalarT : ...
5358
5388
@overload
5359
- def argmax (self , axis : _ShapeLike , out : None = ... ) -> matrix [_2D , dtype [ intp ] ]: ...
5389
+ def ptp (self , axis : _ShapeLike , out : None = None ) -> matrix [_2D , _DTypeT_co ]: ...
5360
5390
@overload
5361
- def argmax (self , axis : _ShapeLike | None = ..., out : _ArrayT = ...) -> _ArrayT : ...
5391
+ def ptp (self , axis : _ShapeLike | None , out : _ArrayT ) -> _ArrayT : ...
5392
+ @overload
5393
+ def ptp (self , axis : _ShapeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5362
5394
5395
+ # keep in sync with `argmin`
5396
+ @overload # type: ignore[override]
5397
+ def argmax (self : NDArray [_ScalarT ], axis : None = None , out : None = None ) -> intp : ...
5363
5398
@overload
5364
- def argmin (self : NDArray [ _ScalarT ] , axis : None = ... , out : None = ... ) -> intp : ...
5399
+ def argmax (self , axis : _ShapeLike , out : None = None ) -> matrix [ _2D , dtype [ intp ]] : ...
5365
5400
@overload
5366
- def argmin (self , axis : _ShapeLike , out : None = ... ) -> matrix [ _2D , dtype [ intp ]] : ...
5401
+ def argmax (self , axis : _ShapeLike | None , out : _ArrayT ) -> _ArrayT : ...
5367
5402
@overload
5368
- def argmin (self , axis : _ShapeLike | None = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5403
+ def argmax (self , axis : _ShapeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5369
5404
5405
+ # keep in sync with `argmax`
5406
+ @overload # type: ignore[override]
5407
+ def argmin (self : NDArray [_ScalarT ], axis : None = None , out : None = None ) -> intp : ...
5370
5408
@overload
5371
- def ptp (self : NDArray [ _ScalarT ] , axis : None = ... , out : None = ... ) -> _ScalarT : ...
5409
+ def argmin (self , axis : _ShapeLike , out : None = None ) -> matrix [ _2D , dtype [ intp ]] : ...
5372
5410
@overload
5373
- def ptp (self , axis : _ShapeLike , out : None = ... ) -> matrix [ _2D , _DTypeT_co ] : ...
5411
+ def argmin (self , axis : _ShapeLike | None , out : _ArrayT ) -> _ArrayT : ...
5374
5412
@overload
5375
- def ptp (self , axis : _ShapeLike | None = ..., out : _ArrayT = ... ) -> _ArrayT : ...
5413
+ def argmin (self , axis : _ShapeLike | None = None , * , out : _ArrayT ) -> _ArrayT : ... # pyright: ignore[reportIncompatibleMethodOverride]
5376
5414
5377
- def squeeze (self , axis : _ShapeLike | None = ...) -> matrix [_2D , _DTypeT_co ]: ...
5378
- def tolist (self : matrix [Any , dtype [generic [_T ]]]) -> list [list [_T ]]: ... # pyright: ignore[reportIncompatibleMethodOverride]
5379
- def ravel (self , / , order : _OrderKACF = "C" ) -> matrix [tuple [L [1 ], int ], _DTypeT_co ]: ... # pyright: ignore[reportIncompatibleMethodOverride]
5380
- def flatten (self , / , order : _OrderKACF = "C" ) -> matrix [tuple [L [1 ], int ], _DTypeT_co ]: ... # pyright: ignore[reportIncompatibleMethodOverride]
5415
+ #the second overload handles the (rare) case that the matrix is not 2-d
5416
+ @overload
5417
+ def tolist (self : matrix [_2D , dtype [generic [_T ]]]) -> list [list [_T ]]: ... # pyright: ignore[reportIncompatibleMethodOverride]
5418
+ @overload
5419
+ def tolist (self ) -> Incomplete : ... # pyright: ignore[reportIncompatibleMethodOverride]
5381
5420
5421
+ # these three methods will at least return a `2-d` array of shape (1, n)
5422
+ def squeeze (self , axis : _ShapeLike | None = None ) -> matrix [_2D , _DTypeT_co ]: ...
5423
+ def ravel (self , / , order : _OrderKACF = "C" ) -> matrix [_2D , _DTypeT_co ]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
5424
+ def flatten (self , / , order : _OrderKACF = "C" ) -> matrix [_2D , _DTypeT_co ]: ... # type: ignore[override] # pyright: ignore[reportIncompatibleMethodOverride]
5425
+
5426
+ # matrix.T is inherited from _ScalarOrArrayCommon
5427
+ def getT (self ) -> Self : ...
5382
5428
@property
5383
- def T (self ) -> matrix [_2D , _DTypeT_co ]: ...
5384
- @property
5385
- def I (self ) -> matrix [_2D , Any ]: ... # noqa: E743
5429
+ def I (self ) -> matrix [_2D , Incomplete ]: ... # noqa: E743
5430
+ def getI (self ) -> matrix [_2D , Incomplete ]: ...
5386
5431
@property
5387
5432
def A (self ) -> ndarray [_2DShapeT_co , _DTypeT_co ]: ...
5433
+ def getA (self ) -> ndarray [_2DShapeT_co , _DTypeT_co ]: ...
5388
5434
@property
5389
5435
def A1 (self ) -> ndarray [_Shape , _DTypeT_co ]: ...
5436
+ def getA1 (self ) -> ndarray [_Shape , _DTypeT_co ]: ...
5390
5437
@property
5391
5438
def H (self ) -> matrix [_2D , _DTypeT_co ]: ...
5392
- def getT (self ) -> matrix [_2D , _DTypeT_co ]: ...
5393
- def getI (self ) -> matrix [_2D , Any ]: ...
5394
- def getA (self ) -> ndarray [_2DShapeT_co , _DTypeT_co ]: ...
5395
- def getA1 (self ) -> ndarray [_Shape , _DTypeT_co ]: ...
5396
5439
def getH (self ) -> matrix [_2D , _DTypeT_co ]: ...
5397
5440
5398
5441
def from_dlpack (
0 commit comments