jax.lax.linalg.eigh#
- jax.lax.linalg.eigh(x, *, lower=True, symmetrize_input=True, sort_eigenvalues=True, subset_by_index=None)[源代码]#
厄米矩阵的特征分解。
计算复厄米或实对称方阵的特征向量和特征值。
- 参数:
x (Array) – 一批形状为
[..., n, n]
的复厄米或实对称方阵。lower (bool) – 如果
symmetrize_input
为False
,则描述要使用输入矩阵的哪个三角形。如果symmetrize_input
为False
,则仅访问由lower
给定的三角形;另一个三角形将被忽略且不被访问。symmetrize_input (bool) – 如果为
True
,则在进行特征分解之前,通过计算 \(\frac{1}{2}(x + x^H)\) 来对称化矩阵。sort_eigenvalues (bool) –
- 如果
True
,则特征值将按升序排序。 如果为
False
,则以实现定义的顺序返回特征值。- subset_by_index: 可选的 2 元组 [start, end],指示要计算的特征值的索引范围。例如,如果
range_select
= [n-2,n],则eigh
计算两个最大特征值及其特征向量。 indices of eigenvalues to compute. For example, is
range_select
= [n-2,n], theneigh
computes the two largest eigenvalues and their eigenvectors.
- 如果
- 返回值:
一个元组
(v, w)
。v
是一个与x
具有相同 dtype 的数组,使得v[..., :, i]
是对应于特征值w[..., i]
的归一化特征向量。w
是一个与x
具有相同 dtype 的数组(如果是复数,则为其实数对应物),其形状为[..., d]
,包含x
的升序特征值(每个值根据其重数重复)。如果subset_by_index
为None
,则d
等于n
。否则,d
等于subset_by_index[1] - subset_by_index[0]
。- 返回类型: