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计算两个最大特征值及其特征向量。
- 返回:
一个元组
(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]。- 返回类型: