@@ -384,7 +384,22 @@ def eig(
384
384
...
385
385
386
386
#
387
- @overload # float, eigvals_only: False = ...
387
+ @overload # +float64, eigvals_only: False = ...
388
+ def eigh ( #
389
+ a : onp .ToArrayND [float , np .float64 | np .longdouble | npc .integer64 | npc .integer32 ],
390
+ b : onp .ToFloat64_ND | None = None ,
391
+ * ,
392
+ lower : op .CanBool = True ,
393
+ eigvals_only : onp .ToFalse = False ,
394
+ overwrite_a : op .CanBool = False ,
395
+ overwrite_b : op .CanBool = False ,
396
+ type : _EigHType = 1 ,
397
+ check_finite : op .CanBool = True ,
398
+ subset_by_index : _EigHSubsetByIndex | None = None ,
399
+ subset_by_value : _EigHSubsetByValue | None = None ,
400
+ driver : _DriverEV | _DriverGV | None = None ,
401
+ ) -> tuple [onp .ArrayND [np .float64 ], onp .ArrayND [np .float64 ]]: ...
402
+ @overload # +float, eigvals_only: False = ...
388
403
def eigh (
389
404
a : onp .ToFloatND ,
390
405
b : onp .ToFloatND | None = None ,
@@ -399,22 +414,22 @@ def eigh(
399
414
subset_by_value : _EigHSubsetByValue | None = None ,
400
415
driver : _DriverEV | _DriverGV | None = None ,
401
416
) -> tuple [_FloatND , _FloatND ]: ...
402
- @overload # float , eigvals_only: True
417
+ @overload # ~complex , eigvals_only: False = ...
403
418
def eigh (
404
- a : onp .ToFloatND ,
405
- b : onp .ToFloatND | None = None ,
419
+ a : onp .ToJustComplexND ,
420
+ b : onp .ToComplexND | None = None ,
406
421
* ,
407
422
lower : op .CanBool = True ,
408
- eigvals_only : onp .ToTrue ,
423
+ eigvals_only : onp .ToFalse = False ,
409
424
overwrite_a : op .CanBool = False ,
410
425
overwrite_b : op .CanBool = False ,
411
426
type : _EigHType = 1 ,
412
427
check_finite : op .CanBool = True ,
413
428
subset_by_index : _EigHSubsetByIndex | None = None ,
414
429
subset_by_value : _EigHSubsetByValue | None = None ,
415
- driver : _DriverEV | _EigHSubsetByValue | None = None ,
416
- ) -> _FloatND : ...
417
- @overload # complex, eigvals_only: False = ...
430
+ driver : _DriverEV | _DriverGV | None = None ,
431
+ ) -> tuple [ _FloatND , _ComplexND ] : ...
432
+ @overload # + complex, eigvals_only: False = ...
418
433
def eigh (
419
434
a : onp .ToComplexND ,
420
435
b : onp .ToComplexND | None = None ,
@@ -429,10 +444,10 @@ def eigh(
429
444
subset_by_value : _EigHSubsetByValue | None = None ,
430
445
driver : _DriverEV | _DriverGV | None = None ,
431
446
) -> tuple [_FloatND , _InexactND ]: ...
432
- @overload # complex , eigvals_only: True
447
+ @overload # +complex128 , eigvals_only: True
433
448
def eigh (
434
- a : onp .ToComplexND ,
435
- b : onp .ToComplexND | None = None ,
449
+ a : onp .ToArrayND [ float , npc . inexact80 | npc . number64 | npc . integer32 ] ,
450
+ b : onp .ToComplex128_ND | None = None ,
436
451
* ,
437
452
lower : op .CanBool = True ,
438
453
eigvals_only : onp .ToTrue ,
@@ -443,22 +458,22 @@ def eigh(
443
458
subset_by_index : _EigHSubsetByIndex | None = None ,
444
459
subset_by_value : _EigHSubsetByValue | None = None ,
445
460
driver : _DriverEV | _EigHSubsetByValue | None = None ,
446
- ) -> _FloatND : ...
447
- @overload # complex, eigvals_only: CanBool (catch-all)
461
+ ) -> onp . ArrayND [ np . float64 ] : ...
462
+ @overload # + complex, eigvals_only: True
448
463
def eigh (
449
464
a : onp .ToComplexND ,
450
465
b : onp .ToComplexND | None = None ,
451
466
* ,
452
- lower : op .CanBool ,
453
- eigvals_only : op . CanBool ,
467
+ lower : op .CanBool = True ,
468
+ eigvals_only : onp . ToTrue ,
454
469
overwrite_a : op .CanBool = False ,
455
470
overwrite_b : op .CanBool = False ,
456
471
type : _EigHType = 1 ,
457
472
check_finite : op .CanBool = True ,
458
473
subset_by_index : _EigHSubsetByIndex | None = None ,
459
474
subset_by_value : _EigHSubsetByValue | None = None ,
460
475
driver : _DriverEV | _EigHSubsetByValue | None = None ,
461
- ) -> _FloatND | tuple [ _FloatND , _InexactND ] : ...
476
+ ) -> _FloatND : ...
462
477
463
478
#
464
479
@overload # float, eigvals_only: False = ..., select: _SelectA = ...
0 commit comments