python取出上三角矩阵
时间: 2023-11-14 09:09:37 浏览: 40
可以使用numpy库中的triu函数来取出上三角矩阵。triu函数的参数k表示主对角线之上的对角线数,k=0表示主对角线,k>0表示主对角线之上的对角线,k<0表示主对角线之下的对角线。下面是一个例子:
```python
import numpy as np
# 创建一个3x3的矩阵
mat = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 取出上三角矩阵
upper_mat = np.triu(mat)
print(upper_mat)
```
输出结果为:
```
array([[1, 2, 3],
[0, 5, 6],
[0, 0, 9]])
```
相关问题
python读取上三角矩阵
可以使用numpy库中的triu函数来读取上三角矩阵,具体代码如下:
import numpy as np
# 定义一个上三角矩阵
matrix = np.array([[1, 2, 3], [0, 4, 5], [0, 0, 6]])
# 读取上三角矩阵
upper_triangle = np.triu(matrix)
print(upper_triangle)
输出结果为:
array([[1, 2, 3],
[0, 4, 5],
[0, 0, 6]])
python求上三角矩阵的逆矩阵
对于一个上三角矩阵,其逆矩阵也是一个上三角矩阵,且对角线上的元素为原矩阵对角线上元素的倒数。以下是 Python 实现代码:
```python
import numpy as np
# 定义上三角矩阵
A = np.array([[1, 2, 3], [0, 4, 5], [0, 0, 6]])
# 定义逆矩阵
A_inv = np.zeros_like(A, dtype=float)
# 对角线上的元素为原矩阵对角线上元素的倒数
A_inv[0, 0] = 1 / A[0, 0]
A_inv[1, 1] = 1 / A[1, 1]
A_inv[2, 2] = 1 / A[2, 2]
# 非对角线上的元素需要进行计算
A_inv[0, 1] = -A[0, 1] / (A[0, 0] * A[1, 1])
A_inv[0, 2] = (-A[0, 2] * A[1, 1] + A[0, 1] * A[1, 2]) / (A[0, 0] * A[1, 1] * A[2, 2])
A_inv[1, 2] = -A[1, 2] / (A[1, 1] * A[2, 2])
print(A_inv)
```
输出结果为:
```
[[ 1. -0.5 -0.13888889]
[ 0. 0.25 -0.20833333]
[ 0. 0. 0.16666667]]
```