mlx.core.linalg.eigvalsh

目录

mlx.core.linalg.eigvalsh#

eigvalsh(a: array, UPLO: str = 'L', *, stream: Optional[Union[Stream, Device]] = None) array#

计算复数 Hermitian 矩阵或实数对称矩阵的特征值。

此函数支持至少 2 个维度的数组。当输入数组的维度超过两个时,将计算最后两个维度中每个矩阵的特征值。

参数:
  • a (array) – 输入数组。必须是实数对称矩阵或复数 Hermitian 矩阵。

  • UPLO (str, 可选) – 指定是使用矩阵的上三角形 ("U") 还是下三角形 ("L")。默认值:"L"

  • stream (Stream, 可选) – Stream 或设备。默认为 None,此时使用默认设备的默认 Stream。

返回:

按升序排列的特征值。

返回类型:

array

注意

输入矩阵假定为对称矩阵(或 Hermitian 矩阵)。仅使用选定的三角形部分。不执行对称性检查。

示例

>>> A = mx.array([[1., -2.], [-2., 1.]])
>>> eigenvalues = mx.linalg.eigvalsh(A, stream=mx.cpu)
>>> eigenvalues
array([-1., 3.], dtype=float32)