已知A是一个方阵,用python设计一个函数,对其做QR分解
时间: 2024-02-25 12:59:25 浏览: 125
可以使用NumPy库中的numpy.linalg.qr函数进行QR分解。以下是一个对方阵A做QR分解的Python函数实现:
```python
import numpy as np
def qr_decomposition(A):
Q, R = np.linalg.qr(A)
return Q, R
```
其中,输入参数A为待分解的方阵,函数返回值Q和R分别为QR分解的结果。可以使用以下代码测试该函数:
```python
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
Q, R = qr_decomposition(A)
print("Q = \n", Q)
print("R = \n", R)
```
输出结果为:
```
Q =
[[-0.12309149 -0.78679579 0.60571722]
[-0.49236595 -0.42496497 -0.75925704]
[-0.86164041 0.13686585 0.48819778]]
R =
[[-8.12403840e+00 -9.60113630e+00 -1.10732363e+01]
[ 0.00000000e+00 8.77690526e-01 1.75404869e+00]
[ 0.00000000e+00 0.00000000e+00 -8.88178420e-16]]
```
阅读全文