基于python的矩阵的三角分解法代码
时间: 2024-09-21 13:04:13 浏览: 18
在Python中,我们可以使用numpy库来进行矩阵的三角分解,主要包括LU分解(L型矩阵乘以其上三角矩阵U)、QR分解(将矩阵分解为Q(正交矩阵)和R(上三角矩阵)的乘积)以及Cholesky分解(对于对称正定矩阵,分解为更低三角形矩阵的乘积)。以下是基于numpy的简单例子:
```python
import numpy as np
# 示例:LU分解
def lu_decomposition(matrix):
L, U = np.linalg.lu(matrix)
return L, U
# 示例:QR分解
def qr_decomposition(matrix):
Q, R = np.linalg.qr(matrix)
return Q, R
# 示例:Cholesky分解
def cholesky_decomposition(matrix):
# 确保输入是对称正定矩阵
if not np.allclose(matrix, matrix.T) or not np.all(np.linalg.eigvals(matrix) > 0):
raise ValueError("Matrix must be symmetric positive definite.")
L = np.linalg.cholesky(matrix)
return L
# 使用示例
matrix = np.array([[4, 1], [1, 4]])
L, U = lu_decomposition(matrix)
Q, R = qr_decomposition(matrix)
L_chol = cholesky_decomposition(matrix)
#