lapack_lite.pyi 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. from typing import Any, Final, TypedDict, type_check_only
  2. import numpy as np
  3. from numpy._typing import NDArray
  4. from ._linalg import fortran_int
  5. ###
  6. @type_check_only
  7. class _GELSD(TypedDict):
  8. m: int
  9. n: int
  10. nrhs: int
  11. lda: int
  12. ldb: int
  13. rank: int
  14. lwork: int
  15. info: int
  16. @type_check_only
  17. class _DGELSD(_GELSD):
  18. dgelsd_: int
  19. rcond: float
  20. @type_check_only
  21. class _ZGELSD(_GELSD):
  22. zgelsd_: int
  23. @type_check_only
  24. class _GEQRF(TypedDict):
  25. m: int
  26. n: int
  27. lda: int
  28. lwork: int
  29. info: int
  30. @type_check_only
  31. class _DGEQRF(_GEQRF):
  32. dgeqrf_: int
  33. @type_check_only
  34. class _ZGEQRF(_GEQRF):
  35. zgeqrf_: int
  36. @type_check_only
  37. class _DORGQR(TypedDict):
  38. dorgqr_: int
  39. info: int
  40. @type_check_only
  41. class _ZUNGQR(TypedDict):
  42. zungqr_: int
  43. info: int
  44. ###
  45. _ilp64: Final[bool] = ...
  46. def dgelsd(
  47. m: int,
  48. n: int,
  49. nrhs: int,
  50. a: NDArray[np.float64],
  51. lda: int,
  52. b: NDArray[np.float64],
  53. ldb: int,
  54. s: NDArray[np.float64],
  55. rcond: float,
  56. rank: int,
  57. work: NDArray[np.float64],
  58. lwork: int,
  59. iwork: NDArray[fortran_int],
  60. info: int,
  61. ) -> _DGELSD: ...
  62. def zgelsd(
  63. m: int,
  64. n: int,
  65. nrhs: int,
  66. a: NDArray[np.complex128],
  67. lda: int,
  68. b: NDArray[np.complex128],
  69. ldb: int,
  70. s: NDArray[np.float64],
  71. rcond: float,
  72. rank: int,
  73. work: NDArray[np.complex128],
  74. lwork: int,
  75. rwork: NDArray[np.float64],
  76. iwork: NDArray[fortran_int],
  77. info: int,
  78. ) -> _ZGELSD: ...
  79. #
  80. def dgeqrf(
  81. m: int,
  82. n: int,
  83. a: NDArray[np.float64], # in/out, shape: (lda, n)
  84. lda: int,
  85. tau: NDArray[np.float64], # out, shape: (min(m, n),)
  86. work: NDArray[np.float64], # out, shape: (max(1, lwork),)
  87. lwork: int,
  88. info: int, # out
  89. ) -> _DGEQRF: ...
  90. def zgeqrf(
  91. m: int,
  92. n: int,
  93. a: NDArray[np.complex128], # in/out, shape: (lda, n)
  94. lda: int,
  95. tau: NDArray[np.complex128], # out, shape: (min(m, n),)
  96. work: NDArray[np.complex128], # out, shape: (max(1, lwork),)
  97. lwork: int,
  98. info: int, # out
  99. ) -> _ZGEQRF: ...
  100. #
  101. def dorgqr(
  102. m: int, # >=0
  103. n: int, # m >= n >= 0
  104. k: int, # n >= k >= 0
  105. a: NDArray[np.float64], # in/out, shape: (lda, n)
  106. lda: int, # >= max(1, m)
  107. tau: NDArray[np.float64], # in, shape: (k,)
  108. work: NDArray[np.float64], # out, shape: (max(1, lwork),)
  109. lwork: int,
  110. info: int, # out
  111. ) -> _DORGQR: ...
  112. def zungqr(
  113. m: int,
  114. n: int,
  115. k: int,
  116. a: NDArray[np.complex128],
  117. lda: int,
  118. tau: NDArray[np.complex128],
  119. work: NDArray[np.complex128],
  120. lwork: int,
  121. info: int,
  122. ) -> _ZUNGQR: ...
  123. #
  124. def xerbla(srname: object, info: int) -> None: ...