jax.scipy.linalg.eigh#
- jax.scipy.linalg.eigh(a, b=None, lower=True, eigvals_only=False, overwrite_a=False, overwrite_b=False, turbo=True, eigvals=None, type=1, check_finite=True)[source]#
Solve a standard or generalized eigenvalue problem for a complex
LAX-backend implementation of
scipy.linalg._decomp.eigh()
.Does not support the Scipy argument
check_finite=True
, because compiled JAX code cannot perform checks of array values at runtime.Does not support the Scipy argument
overwrite_*=True
.Original docstring below.
Hermitian or real symmetric matrix.
Find eigenvalues array
w
and optionally eigenvectors arrayv
of arraya
, whereb
is positive definite such that for every eigenvalue Ξ» (i-th entry of w) and its eigenvectorvi
(i-th column ofv
) satisfies:a @ vi = Ξ» * b @ vi vi.conj().T @ a @ vi = Ξ» vi.conj().T @ b @ vi = 1
In the standard problem,
b
is assumed to be the identity matrix.- Parameters:
a ((M, M) array_like) β A complex Hermitian or real symmetric matrix whose eigenvalues and eigenvectors will be computed.
b ((M, M) array_like, optional) β A complex Hermitian or real symmetric definite positive matrix in. If omitted, identity matrix is assumed.
lower (bool, optional) β Whether the pertinent array data is taken from the lower or upper triangle of
a
and, if applicable,b
. (Default: lower)eigvals_only (bool, optional) β Whether to calculate only eigenvalues and no eigenvectors. (Default: both are calculated)
type (int, optional) β
For the generalized problems, this keyword specifies the problem type to be solved for
w
andv
(only takes 1, 2, 3 as possible inputs):1 => a @ v = w @ b @ v 2 => a @ b @ v = w @ v 3 => b @ a @ v = w @ v
This keyword is ignored for standard problems.
eigvals (tuple (lo, hi), optional, deprecated) β
Deprecated since version 1.5.0: eigh keyword argument eigvals is deprecated in favour of subset_by_index keyword instead and will be removed in SciPy 1.12.0.
overwrite_a (
bool
) βoverwrite_b (
bool
) βturbo (
bool
) βcheck_finite (
bool
) β
- Return type:
- Returns:
w ((N,) ndarray) β The N (1<=N<=M) selected eigenvalues, in ascending order, each repeated according to its multiplicity.
v ((M, N) ndarray) β (if
eigvals_only == False
)