获取一个给定的NumPy数组的QR因式分解
在这篇文章中,我们将讨论矩阵的QR分解或QR分解。矩阵的QR分解是将矩阵(如A)分解为 “A=QR”,其中Q是正交的,R是一个上三角矩阵。我们使用_numpy.linalg.qr() _函数对矩阵进行因式分解。
语法: numpy.linalg.qr(a, mode=’reduced’)
参数 :
- a : 矩阵(M,N),需要被因子化。
- mode:它是可选的。它可以是:
下面是一些如何使用上述函数的例子。
例子1: 2X2矩阵的QR因式分解
# Import numpy package
import numpy as np
# Create a numpy array
arr = np.array([[10,22],[13,6]])
# Find the QR factor of array
q, r = np.linalg.qr(arr)
# Print the result
print("Decomposition of matrix:")
print( "q=\n", q, "\nr=\n", r)
输出 :
例子2: 2X4矩阵的QR因式分解
# Import numpy package
import numpy as np
# Create a numpy array
arr = np.array([[0, 1], [1, 0], [1, 1], [2, 2]])
# Find the QR factor of array
q, r = np.linalg.qr(arr)
# Print the result
print("Decomposition of matrix:")
print( "q=\n", q, "\nr=\n", r)
输出 :
例子3: 3X3矩阵的QR因式分解
# Import numpy package
import numpy as np
# Create a numpy array
arr = np.array([[5, 11, -15], [12, 34, -51],
[-24, -43, 92]], dtype=np.int32)
# Find the QR factor of array
q, r = np.linalg.qr(arr)
# Print the result
print("Decomposition of matrix:")
print( "q=\n", q, "\nr=\n", r)
输出 :