|
from typing import Any, Final, TypedDict, type_check_only |
|
|
|
import numpy as np |
|
from numpy._typing import NDArray |
|
|
|
from ._linalg import fortran_int |
|
|
|
### |
|
|
|
@type_check_only |
|
class _GELSD(TypedDict): |
|
m: int |
|
n: int |
|
nrhs: int |
|
lda: int |
|
ldb: int |
|
rank: int |
|
lwork: int |
|
info: int |
|
|
|
@type_check_only |
|
class _DGELSD(_GELSD): |
|
dgelsd_: int |
|
rcond: float |
|
|
|
@type_check_only |
|
class _ZGELSD(_GELSD): |
|
zgelsd_: int |
|
|
|
@type_check_only |
|
class _GEQRF(TypedDict): |
|
m: int |
|
n: int |
|
lda: int |
|
lwork: int |
|
info: int |
|
|
|
@type_check_only |
|
class _DGEQRF(_GEQRF): |
|
dgeqrf_: int |
|
|
|
@type_check_only |
|
class _ZGEQRF(_GEQRF): |
|
zgeqrf_: int |
|
|
|
@type_check_only |
|
class _DORGQR(TypedDict): |
|
dorgqr_: int |
|
info: int |
|
|
|
@type_check_only |
|
class _ZUNGQR(TypedDict): |
|
zungqr_: int |
|
info: int |
|
|
|
### |
|
|
|
_ilp64: Final[bool] = ... |
|
|
|
def dgelsd( |
|
m: int, |
|
n: int, |
|
nrhs: int, |
|
a: NDArray[np.float64], |
|
lda: int, |
|
b: NDArray[np.float64], |
|
ldb: int, |
|
s: NDArray[np.float64], |
|
rcond: float, |
|
rank: int, |
|
work: NDArray[np.float64], |
|
lwork: int, |
|
iwork: NDArray[fortran_int], |
|
info: int, |
|
) -> _DGELSD: ... |
|
def zgelsd( |
|
m: int, |
|
n: int, |
|
nrhs: int, |
|
a: NDArray[np.complex128], |
|
lda: int, |
|
b: NDArray[np.complex128], |
|
ldb: int, |
|
s: NDArray[np.float64], |
|
rcond: float, |
|
rank: int, |
|
work: NDArray[np.complex128], |
|
lwork: int, |
|
rwork: NDArray[np.float64], |
|
iwork: NDArray[fortran_int], |
|
info: int, |
|
) -> _ZGELSD: ... |
|
|
|
# |
|
def dgeqrf( |
|
m: int, |
|
n: int, |
|
a: NDArray[np.float64], # in/out, shape: (lda, n) |
|
lda: int, |
|
tau: NDArray[np.float64], # out, shape: (min(m, n),) |
|
work: NDArray[np.float64], # out, shape: (max(1, lwork),) |
|
lwork: int, |
|
info: int, # out |
|
) -> _DGEQRF: ... |
|
def zgeqrf( |
|
m: int, |
|
n: int, |
|
a: NDArray[np.complex128], # in/out, shape: (lda, n) |
|
lda: int, |
|
tau: NDArray[np.complex128], # out, shape: (min(m, n),) |
|
work: NDArray[np.complex128], # out, shape: (max(1, lwork),) |
|
lwork: int, |
|
info: int, # out |
|
) -> _ZGEQRF: ... |
|
|
|
# |
|
def dorgqr( |
|
m: int, # >=0 |
|
n: int, # m >= n >= 0 |
|
k: int, # n >= k >= 0 |
|
a: NDArray[np.float64], # in/out, shape: (lda, n) |
|
lda: int, # >= max(1, m) |
|
tau: NDArray[np.float64], # in, shape: (k,) |
|
work: NDArray[np.float64], # out, shape: (max(1, lwork),) |
|
lwork: int, |
|
info: int, # out |
|
) -> _DORGQR: ... |
|
def zungqr( |
|
m: int, |
|
n: int, |
|
k: int, |
|
a: NDArray[np.complex128], |
|
lda: int, |
|
tau: NDArray[np.complex128], |
|
work: NDArray[np.complex128], |
|
lwork: int, |
|
info: int, |
|
) -> _ZUNGQR: ... |
|
|
|
# |
|
def xerbla(srname: object, info: int) -> None: ... |
|
|