mlx.core.linalg.qr

目录

mlx.core.linalg.qr#

qr(a: array, *, stream: None | Stream | Device = None) Tuple[array, array]#

输入矩阵的 QR 分解。

此函数支持至少有 2 个维度的数组。假定要分解的矩阵位于输入的最后两个维度中。

参数:
  • a (array) – 输入数组。

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

返回:

QR 矩阵,满足 Q @ R = a

返回类型:

tuple(array, array)

示例

>>> A = mx.array([[2., 3.], [1., 2.]])
>>> Q, R = mx.linalg.qr(A, stream=mx.cpu)
>>> Q
array([[-0.894427, -0.447214],
       [-0.447214, 0.894427]], dtype=float32)
>>> R
array([[-2.23607, -3.57771],
       [0, 0.447214]], dtype=float32)