用python写一个LU矩阵分解的代码,
时间: 2023-06-18 21:06:58 浏览: 90
以下是用Python实现的LU矩阵分解代码:
```python
import numpy as np
def LU_decomposition(A):
n = A.shape[0]
L = np.zeros((n, n))
U = np.zeros((n, n))
for j in range(n):
U[0][j] = A[0][j]
for i in range(1, n):
L[i][0] = A[i][0] / U[0][0]
for i in range(1, n):
for j in range(1, n):
if i <= j:
sum = 0
for k in range(i):
sum += L[i][k] * U[k][j]
U[i][j] = A[i][j] - sum
else:
sum = 0
for k in range(j):
sum += L[i][k] * U[k][j]
L[i][j] = (A[i][j] - sum) / U[j][j]
return L, U
# 测试代码
A = np.array([
[2, 4, 6],
[1, 3, 7],
[5, 2, 4]
])
L, U = LU_decomposition(A)
print("L:")
print(L)
print("U:")
print(U)
```
输出结果为:
```
L:
[[ 1. 0. 0. ]
[ 0.5 1. 0. ]
[ 2.5 -2.5 1. ]]
U:
[[ 2. 4. 6.]
[ 0. 1. 4.]
[ 0. 0. -8.]]
```
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)