mlx.core.linalg.eigh#
- eigh(a: array, UPLO: str = 'L', *, stream: Optional[Union[Stream, Device]] = None) tuple #
计算复数厄米特矩阵或实对称矩阵的特征值和特征向量。
此函数支持至少包含 2 个维度的数组。当输入具有两个以上维度时,将计算最后两个维度中每个矩阵的特征值和特征向量。
- 参数:
- 返回值:
一个元组,包含按升序排列的特征值和归一化的特征向量。列
v[:, i]
是对应于第 i 个特征值的特征向量。- 返回类型:
注意
假定输入矩阵是对称的(或厄米特的)。仅使用选定的三角部分。不执行对称性检查。
示例
>>> A = mx.array([[1., -2.], [-2., 1.]]) >>> w, v = mx.linalg.eigh(A, stream=mx.cpu) >>> w array([-1., 3.], dtype=float32) >>> v array([[ 0.707107, -0.707107], [ 0.707107, 0.707107]], dtype=float32)